投稿のフィードを提供するAPIのWebサービスに取り組んでいます。現在、投稿は時系列的に整理されており、本質的にタイムスタンプであるトークンの前後に不透明でページを設定します。しかし、時系列のフィードからアルゴリズム的なフィードに移行したいと考えています。私はポストスコアを計算し、データの最初のページを送信することができますが、私はそれに関連してページ付けする方法がわかりません。私はそれをスナップショットと仮定し、200のソートされたポストIDのようにバンドルし、それらをトークンのHMACブロブにシリアライズしますが、これは各リクエストのための重要なオーバーヘッドです。このようなページネーションを処理するには、より良い方法がありますか?注文が頻繁に更新されるフィードのページを設定するにはどうすればよいですか?
0
A
答えて
0
ポストスコアをデータベースに格納することができれば、インデックスを作成して高速にアクセスできます。とにかくトップページは速くなります。 order by rating desc limit 50 offset 10000
で大きな深度の標準的なアプローチで評価することによってページネーションが必要な場合は遅くなります。ここでは、二次フィールド(タイムスタンプなど)を見つけることができます。同じ配給の記事がいくつかありますが、どれがトップにあるべきですか?このフィールドをソートインデックスに追加し、where rating < ..., timestamp <... order by rating, timestamp
のようなクエリDBを追加します。
評価を頻繁に再計算する場合は、post_id, rating
のような別のテーブルに保存することをおすすめします。このテーブルをpost_id
に照会してください - テーブル全体をすばやく移動して、そこに投稿に参加する必要があります。
関連する問題
- 1. 最も頻繁に注文される製品はどれですか?
- 2. アプリのコンテンツを頻繁に更新するにはどうすればよいですか?
- 3. 頻繁に更新されるgridview
- 4. AndroidでWiFi設定の頻度を更新するにはどうすればよいですか?
- 5. ほとんどのMySQLで頻繁に更新されるテーブル
- 6. プリストショット注文の注文ページを変更するにはどうすればよいですか?
- 7. データベースが更新されたときにページを更新するにはどうすればよいですか?
- 8. 頻繁に更新されるNuGetパッケージを扱う
- 9. 頻繁に更新されるTableViewの流暢性を確保するにはどうすればよいですか?
- 10. 列の索引が頻繁に更新される
- 11. ボタンをクリックするたびにコードが頻繁に実行されないようにするにはどうすればよいですか?
- 12. ダッシュウィジェットの更新頻度を更新するにはどうすればよいですか?
- 13. バックグラウンドが頻繁に更新される遅延UI
- 14. スケジュール設定された時間にウェブサイトを更新するにはどうすればよいですか?
- 15. Javascript - 頻繁に更新されるファイルから読む
- 16. 更新されたAndroid Studioの設定を取得するにはどうすればよいですか?
- 17. カサンドラで頻繁に更新されるテーブル
- 18. データをサーバーに頻繁に、つまり毎秒送信するにはどうすればよいですか?
- 19. ダイナミックインクルードデフォルトのページを設定するにはどうすればよいですか?
- 20. github wikiページを更新するにはどうすればよいですか?
- 21. 各ページを更新するにはどうすればよいですか?
- 22. cassandraの頻繁に更新されるフィールドのインデックス方法
- 23. 更新頻度がdeviceMotionUpdateIntervalに設定されているのは実際の頻度ですか?
- 24. Sqliteデータベースのカーソルが更新されると、ListViewが頻繁にハングします
- 25. RSSフィードをマッサージ/変更するにはどうすればよいですか?
- 26. カサンドラスキーマ - テーブルを考えると、頻繁に更新された列
- 27. MySQL頻繁に更新されるカラムとページネーションによるテーブルのソート
- 28. コードネームワンで頻繁なバックグラウンドGPSアップデートを取得するにはどうすればよいですか?
- 29. SQL Serverの挿入ステートメントで注文数を設定するにはどうすればよいですか?
- 30. 円の色が更新されないようにするにはどうすればよいですか?
これは実際には特定の要件、アーキテクチャ、UX、受け入れ可能なトレードオフなどに依存します。アイテムの順序が頻繁に変更されると、ページネーションは非常に複雑な見通しになり、ユーザーエクスペリエンスが大きく変わる可能性があります。まず、実装に取り組む前に、ユーザーの視点からどのように振る舞うかを正確に判断する必要があります。 – Adrian