私はSQL Server 2005を使用しています。私は、Webアプリケーションが訪問したユーザーアクティビティとURLを追跡するために使用する単純なログテーブルを持っています。 テーブルの設計は非常に単純であるログテーブル用のクラスタ化インデックスの選択に関するアドバイスが必要
ID(識別値)、
アクティビティ(NVARCHAR(200))
LOGDATE(日時)、
のURL(データ型はnvarchar(1000))
主にこの表に挿入を行います。 ある期間、特定のユーザーのアクティビティを調査する場合は、このテーブルに対してクエリを実行します。 テーブルには現在、主キーとしてID列があります。これはクラスタ化インデックスでもあります。
クラスタ化されたインデックスをLogDate列に変更する方が良いのではないかと思います。 LogDate列にはアクティビティの日時が格納され、重複する可能性がありますが、常にテーブルに挿入するため、新しいレコードは常にテーブルの最後にある必要があります。インサートのパフォーマンスに影響するページ分割を再編成するか、再編成します。 LogDate列をクラスタード・インデックスとして使用すると、検索のパフォーマンスにも役立ちます。
私の推論が正しいかどうか教えてください。ありがとうございました!
DTAは妥当な仕事をしていますが、間違ったインデックスを示唆することがあります。 –