2017-08-02 6 views
1

私はテーブルscoresと呼ばれるplayersを持っています。プレイヤーは異なるゲームで異なるスコアを得る。数分おきに、私はその時までに特定の選手によって得られた総合得点を知りたい。毎回データを照会するか、値をテーブルに格納しますか?

この操作を頻繁にやりたいことに注意してください。

質問はどのように選択する必要がありますか?
1)ユーザテーブルのフィールドをplayer_scoreと定義し、各ゲームの終了後に更新します。
2)毎回、プレイヤーの合計得点を計算し、すべてのゲームを照会し、現在までに得られた得点を合計したいと考えています。
あなたのおかげでありがとうございます:)

+1

2つの方法を組み合わせることができます。各ゲームの得点の表と総合スコアを更新するトリガーがあります。このデータをクエリする回数を何回ですか? –

+0

@CaiusJard私は1秒がゲームに良いと思う。 –

+1

ああ、私はそれが1秒間に数千回になると思っていました...スコアの履歴を保持し、インデックスを作成し、必要なときにいつでも集計する方が良いかもしれません。それは複雑さを軽減し、1秒に1回の負荷はサーバーにあまり罰せません。大規模に成長した場合は、Redisキャッシュのようなものも考えてください。 –

答えて

0

あなたがテーブルゲームに登録した人の数によって異なります。レコード数が多すぎる場合は、選択に時間がかかります。

+0

ええ、このゲームにはたくさんのプレイヤーがいます。 @CaiusJardが言っていることと一緒に行くべきだと思う。 –

関連する問題