データベースにデータが重複してもかまいません。データベースデータの複製はいつ大丈夫ですか?
私はユーザーのダウンロード数を追跡するはずのこのアプリケーションに取り組んでいます。ビューの私の素人の観点から、私は
- 単にユーザーテーブルの列を持っており、カウンターたびにインクリメントユーザーがダウンロードに何かを、または
- は、2つの列、ユーザーのための1つを持ってカウンターテーブルを持つことができます1つはダウンロードしたファイルです。
私は両方のオプションを使用して、各ユーザーのダウンロード数を追跡することができます。しかし、このアプリケーションが日の光を見て、ユーザー数が多ければ、カウンタテーブル全体を調べるためにデータベースにクエリするのはかなり高価になる可能性があります。
私の質問はあなたがお勧めすると思いますか?
あなたは2つのケースで異なる情報をトラッキングしています。ユーザーがダウンロードしたファイルを*知ることができるようにしたい場合、明らかに最初のケースは役に立たないでしょう。 –
ところで、Webアプリケーションとデータベースを扱うときは、2つの別々のスレッドで更新されているため、競合状態やデータの消失を防ぐために多くの予防措置を講じる必要があります。ダウンロードの間テーブル全体に大きなロックを叩くだけのことは良い考えではありません。 –