2012-05-03 10 views
1

データベースにデータが重複してもかまいません。データベースデータの複製はいつ大丈夫ですか?

私はユーザーのダウンロード数を追跡するはずのこのアプリケーションに取り組んでいます。ビューの私の素人の観点から、私は

  1. 単にユーザーテーブルの列を持っており、カウンターたびにインクリメントユーザーがダウンロードに何かを、または
  2. は、2つの列、ユーザーのための1つを持ってカウンターテーブルを持つことができます1つはダウンロードしたファイルです。

私は両方のオプションを使用して、各ユーザーのダウンロード数を追跡することができます。しかし、このアプリケーションが日の光を見て、ユーザー数が多ければ、カウンタテーブル全体を調べるためにデータベースにクエリするのはかなり高価になる可能性があります。

私の質問はあなたがお勧めすると思いますか?

+1

あなたは2つのケースで異なる情報をトラッキングしています。ユーザーがダウンロードしたファイルを*知ることができるようにしたい場合、明らかに最初のケースは役に立たないでしょう。 –

+0

ところで、Webアプリケーションとデータベースを扱うときは、2つの別々のスレッドで更新されているため、競合状態やデータの消失を防ぐために多くの予防措置を講じる必要があります。ダウンロードの間テーブル全体に大きなロックを叩くだけのことは良い考えではありません。 –

答えて

2

2番目のオプションではデータの重複はなく、さらに多くのデータがあります。

ダウンロードするファイルが分からない場合は、最初のオプション(最小限のスペース)をとります。あなたがいれば、2番目に行く。

Googleアナリティクスを使用してダウンロードを記録していると考えていますか。彼らはあなたよりもこのゲームでおそらくもっと良いでしょう:)

+0

本当に....ありがとうジャック! – schmudu

関連する問題