約 1000 の Web サーバーの 1 週間のログ エントリを含むテーブルがあります。各サーバーは 1 日あたり約 60,000 エントリをテーブルに書き込むため、各サーバーには 1 週間あたり 420,000 エントリがあります。テーブルは毎週切り捨てられます。各ログ エントリには、varchar であるサーバー名が含まれます (これは変更できません)。
主な操作はselect * from table where servername = 'particular'
、サーバーの 420,000 レコードを取得することです。C# プログラムは、選択されたサーバーからデータを分析します。
読み取り操作を高速化するには、servername 列にクラスター化インデックスを作成する必要がありますか? (現在、上記の SQL ステートメントを実行するのに 30 分以上かかります。)
パーティショニングは役に立ちますか?コンピューターには 2 つの物理ドライブしかありません。
クエリは、週に 1 回、各サーバーに対して実行されます。すべてのサーバーに対してクエリが実行された後、テーブルは切り捨てられます。