ランキングシステム(映画や製品を見つめるなど)の悪用を保護および防止する方法についていくつかの質問を見てきましたが、実際にそれを実装することについては何もありません. この質問を簡単に言うと、私にとってセキュリティは問題ではありません。このシステムにアクセスする人々はすべて信頼されており、ランク付けシステムの乱用が発生したとしても些細なことであり、原因よりも簡単に元に戻すことができます。とにかく、投票を保存する方法に興味があります。
1 つの考えは、各投票をログに記録し、すぐに、スケジュールされた時間に、または製品のロードごとに (これは非効率的ですが、おそらくそうではないかもしれません)、投票が集計され、0 から 5 の間で 2 倍になる投票テーブルを用意することです。製品テーブルの製品エントリに更新されます。
または、製品テーブルに合計スコアと投票数を保存し、表示するときにそれを分割し、投票を合計に追加し、誰かが投票したときに数値を増やします。
それとも、私が考えていないより良い方法はありますか?製品テーブルに「評価」フィールドを追加したいのですが、追加データなしで投票を更新する方法が思いつきません。
繰り返しますが、データの整合性は重要ですが、決して必要ではありません。何か考えはありますか?