私のサイトの 1 つで、ユーザーは互いに投票できます。Votes
各行が与えられた投票に対応するテーブルがあります。
ユーザーに合計投票スコアを表示したいと思います。これは、単にそのVotes
テーブルで受け取った投票の合計です。これをリアルタイムで計算するか、1 日 1 回計算するか。このタイプのシナリオの「ベストプラクティス」は何ですか (数十万の投票と成長を想定)?
リアルタイムは簡単ですが、1日1回はそう簡単ではありません。Cronジョブを実行する必要があると思いますが、これを行うにはどうすればよいですか? 各ユーザーを繰り返し処理し、そのテーブルで受け取った投票の合計を計算する必要があることはわかっていVotes
ますが、最初の投票から始めて毎日完全な合計を計算して保存する必要がありますか? (最後の更新以降の) 新しい投票を既存の合計に追加するだけで、代わりにそれを保存しますか?
後者の場合、どのように正確にそれを行い、すべてを追跡して、投票が見逃されたり、2 回追加されたりしないようにしますか?