SQLサーバーでインデックスを作成するステートメントは何ですか?

SQL Server では、次のような構文を使用してインデックスを作成します。

CREATE INDEX index_name
ON table_name (column1, column2, ...)

上掲の文法において、index_name は作成しようとするインデックスの名前、table_name はそのインデックスを作成しようとするテーブルの名前を表します。かっこ内の column1, column2, … はそのインデックスに含めるカラムの名前を表します。

なお、主キー以外の列にもUNIQUE制約を追加することでユニークインデックスを作成し、インデックス列の値がテーブル内で一意となることを保証できます。

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...)

インデックスの作成時に、INCLUDE キーワードを使用して非インデックス列のデータを含めたり、WHERE 句を使用してインデックスのフィルタ条件を定義したりなど、他のオプションをインデックスに指定することもできます。

さらに、DROP INDEXステートメントを使用してインデックスを削除することもできます。

DROP INDEX index_name
ON table_name

上記文中で、index_nameは削除するインデックスの名称、table_nameはインデックスを含むテーブルの名称です。

なお、インデックスの作成・削除時には、実施に十分な権限が必要になります。

bannerAds