私はデータウェアハウジング環境を持っており、インデックス作成に関して質問があります。私は、ヘッダーファクトテーブルを持っていて、詳細レベルのファクトテーブルに結合します。ディテールファクト表は、次に多数のディメンションに結合されます。SQL Serverファクトテーブルのインデックス付け
だから我々は持っている:私のクエリで
FactHeader
FactDetail
Dim1
Dim2
Dim3
Dim4
を、私はニーズを報告するための記述を取得するためにディメンション表のすべてにFactDetail
に参加する必要があります。
ノンクラスタード・インデックスはFactDetail.FactHeaderKey
です。私の質問は:私はこの非クラスタ化インデックスにすべての外部キーを含めるか、私は別の非クラスタ化インデックスを外部キーに作成する必要がありますか?別のインデックスを作成すると、クラスタ化インデックススキャンが実行されます。これは、ID列のすぐ上にあります。
クラスタ化されていないインデックスを1つ作成すると、それはインデックスシークを行い、もちろん外部キーも一緒に返します。私には、インクルードで非クラスタ化インデックスを1つだけ実行する必要があるようですが、何らかの理由でそれがわかりにくいようです。
ご迷惑をおかけして申し訳ございません。