Q1:SQL Serverデータベースの外部キー列のインデックスを作成する価値はありますか?SQL Serverのインデックス - インデックスに含める列は何ですか?
Q2:SQL Serverデータベースに2つの関連テーブルがあり、パフォーマンスを向上させるために外部キー列にインデックスを作成する場合、インデックスに含める必要がある列とそのインデックスの種類最適ですか?例えば
...
Table1
Table1ID int型(主キー)
Table2
Table2ID int型(主キー)
Table1ID int型(外部キー)
.. Table2のインデックスはTable1IDまたはプライマリキー(Table2ID)も含める必要があります。
Q3:私は表1および表2の両方に関連する第3のテーブルを含むように実施例を拡張する場合、私は、各列に対して1つのインデックスまたは両方の列の一つのインデックスを作成するのですか?
Table3
Table3ID int型(主キー)
Table1ID int型(外部キー)
Table2ID int型(外部キー)
@Mitch Wheatさんの回答に感謝します。どのタイプのインデックスを作成するべきですか(クラスタ化されているのか、クラスタ化されていないのでしょうか)。 CREATE CLUSTERED INDEX IX_Table2_Table1ID ON Table2(Table1ID)のようなものか、それともオプションを追加する必要がありますか? – johna
一般に、すべてのFKインデックスはクラスタ化されません。 –