次の状況で質問があります。
各ユーザーの各ゲームの最高スコアを格納するスコア テーブルが既にあります。およそ 1 人のユーザーが、そのユーザーの 10 ゲームのトップ スコアのスコア テーブルに約 10 行あります。リーダーボードの全体的な上位 10 人のユーザーを取得したい場合、理論的にはスコア テーブルを直接クエリできます。しかし、スコア テーブルにあまりにも多くのユーザーがいて、多くのユーザーが同時にトップ 10 をクエリしている場合、サーバーでのクエリに時間がかかりすぎないか心配です。
ゲームごとに上位 10 人のユーザー全体をキャッシュする別のテーブルを作成して、キャッシュ テーブルのサイズを固定し、ユーザー数が増加してもクエリ時間が増加しないようにする価値はありますか? 1時間ごとのようにキャッシュテーブルを更新できました。
これに関して、異なるデータベースが異なる可能性があるかどうかはわかりません。現在、Parse.comd サーバーが提供する MongoDB を使用しています。後で他のデータベース (MySql など) に転送する可能性があります。