テーブルの場合、SQL 2008 以降から 1 つのクラスター化インデックスと 999 個の非クラスター化インデックスを作成できます。
テーブルのいずれかの列に主キーが含まれている場合、自動的にクラスター化インデックスが作成されることに注意してください。テーブルに主キーが含まれていない場合は、整数データ型の列にクラスター化インデックスを作成します。テーブルに一意制約が含まれている場合、自動的に非クラスター化インデックスがそれらの一意制約列に作成されることに注意してください。
最後に、テーブルに主キーが含まれていない場合は、整数データ型の列にクラスター化インデックスを作成します。
次に、テーブルに一意の制約が含まれている場合、非クラスター化インデックスが自動的に作成されます。それ以外の場合はそのままにしておきます。つまり、非クラスター化インデックスを作成しないでください。非クラスター化インデックスが多すぎると、将来的にパフォーマンスの問題が発生するためです。日々データが増えていきます。
テーブルを作成したら、クエリでこのテーブルを使用します。これらのクエリでは、 where condition を記述できます。 where condition 列に対してのみ、非クラスター化インデックスを作成する必要があります。
テーブルにクラスター化インデックスが含まれていない場合、非クラスター化インデックスではパフォーマンスの向上を期待できないことに常に注意してください。
もう 1 つのポイントは、テーブルごとに 1 つのクラスター化インデックスと最大 5 ~ 7 個の非クラスター化インデックスを常に使用することです。
テーブル内のすべての列に対して非クラスター化インデックスを作成しないでください。