SQL CREATE INDEXステートメント


CREATE INDEX ステートメントは、テーブルにインデックスを作成するために使用されます。

インデックスを使用すると、テーブル全体を読み取らずに、データベースアプリケーションはデータをより高速に検索できます。


インデックス

テーブルにインデックスを作成すると、データをより迅速かつ効率的にクエリできます。

ユーザーはインデックスを表示できません。インデックスは検索/クエリを高速化するためにのみ使用されます。

注:インデックスを含むテーブルの更新は、インデックスを含まないテーブルの更新よりも時間がかかります。これは、インデックス自体も更新する必要があるためです。したがって、理想的には、頻繁に検索される列(およびテーブル)にのみインデックスを作成することです。

SQL CREATE INDEX 構文

テーブルに単純なインデックスを作成します。重複する値を許可します:

CREATE INDEX index_name
ON table_name (column_name)

SQL CREATE UNIQUE INDEX 構文

テーブルに一意のインデックスを作成します。重複する値は許可されません。一意のインデックスは、2つの行が同じインデックス値を持つことができないことを意味します。テーブルに一意のインデックスを作成します。重複する値は許可されません:

CREATE UNIQUE INDEX index_name
ON table_name (column_name)

注:インデックスを作成するための構文は、データベースによって異なります。したがって、お使いのデータベースでインデックスを作成するための構文を確認してください。


CREATE INDEX の例

次の SQL ステートメントは、"Persons" テーブルの "LastName" 列に "PIndex" という名前のインデックスを作成します:

CREATE INDEX PIndex
ON Persons (LastName)

インデックスを複数の列に作成する場合は、括弧内に列名をカンマで区切ってリストします:

CREATE INDEX PIndex
ON Persons (LastName, FirstName)

その他の拡張