私は現在、ユーザーの最高スコアのみを保存するMySQLテーブルセットアップを持っています。彼らがより良いスコアを取得した場合、以前のスコアが更新されます。また、過去...24時間以内に投稿されたスコアのみを表示する24時間のリーダーボードが必要です。
2つのオプションが思い浮かびます。
1)リーダーボードごとに2つの別々のテーブルを用意します。ユーザーごとに1スコアのみを保存する「ベストスコア」リーダーボードと、ユーザーごとに1スコアを保存し、タイムスタンプが付けられた「24時間」リーダーボード。つまり、スコアが送信されるたびに、スコアを1つではなく2つのテーブルに送信する必要がありますが、データのフットプリントは次のオプションと比較して最小限に抑えられます。
2)ユーザーごとに重複するスコアを投稿できるテーブルを1つ用意し、スコアにタイムスタンプを付けてから、必要なデータ(全体として最高のスコア、24時間以内のスコアなど)を使用してスコアの巨大なテーブルにクエリを実行します。
何かアイデア/提案はありますか?PHP / MySQLを扱ったのはこれが初めてなので、設計/効率の面で最善のアプローチが何であるかはわかりません。