私は自分のサイトにいくつかの統計情報を追加しようとしています。例えば、「今年/週/年」のように見られるスレッドです。'thread_views'のような大きなテーブルを扱う最良の方法は?
ユーザー(多くのビューを追加する同じユーザーとスレッドとタイムスタンプとを避けるため)に関するすべてのビューを保存するテーブルが必要です。
しかし、これは大きなテーブル(行内)です。これは道のりですか?
私は自分のサイトにいくつかの統計情報を追加しようとしています。例えば、「今年/週/年」のように見られるスレッドです。'thread_views'のような大きなテーブルを扱う最良の方法は?
ユーザー(多くのビューを追加する同じユーザーとスレッドとタイムスタンプとを避けるため)に関するすべてのビューを保存するテーブルが必要です。
しかし、これは大きなテーブル(行内)です。これは道のりですか?
答えは
など、あなたが持っているもののハードウェアスレッドの数、ビューの数、典型的な負荷、読み取り/書き込み比、必要な精度などとして、物事の数に依存していますthread_views(
thread_id references thread(thread_id)
,user_id references user(user_id)
,timestamp
,primary key(thread_id, user_id)
)
上記のアプローチは、あなたの典型的なシナリオのための柔軟性と優れた十分な性能を提供します:あなたの特定のシナリオの詳細を知らなくても、あなたの質問に
A resonable答えは、あなたが記述されているテーブルを作成することです。
私は最近いくつかのアイデアを得るために見ることができる2つの同様の質問に答えました。
Count article comments と Count visitor hits per day
最後のポイントは、主要なデータベースの多くは、データを集約するためのツールが含まれていることです。これらのツールを使用すると、正規化されたデータモデルを持つことができますが、あらかじめ計算された統計表でほとんどのメリットが得られます。