SQL入門その7 - インデックスの作成CREATE INDEX文の基本的な使い方

2007/11/07 16:58Update
TAGS: SQL | CREATE INDEX

インデックスとは、データの検索速度を向上させるために、データベースにおけるどのデータがどこにあるかを示した索引のことです。CREATE INDEXは、既存のテーブルに対して、その【索引】を作成するために使われます。


テーブルは実際のデータを格納します、それらのデータから特定なデータ(検索条件)を見つかるまで時間がかかります。インデックスはその検索時間を短縮させるために、設けられています。
実際の例を考えて見ましょう。ある程度の厚い本から、あるほしい情報を探すことにします。【索引】がなければ、その情報を見つかるまで本を一ページずつ読むしかありません。でも、その本に【索引】がある場合、本の【索引】を見るだけで、ほしい情報がどこにあるかをわかります。
データベースのテーブルのデータ検索もこれと同様です。
適当なインデックスを用いることにより、データ検索には大幅にパフォーマンスが改善されます。

しかし、インデックスあくまではテーブルの検索速度を向上させるためのものです。また、本と同様、どのデータがどこにあるかの情報の作成及びメンテナンスは必要ため、データの挿入,削除,更新が遅くなることには注意しなければなりません。
参考:【ITPro.nikkeibp:インデックスの作り過ぎに注意

インデックスを作成するには、CREATE INDEX文を使用します。CREATE INDEX文の基本構文は、以下のようになります。
  CREATE [UNIQUE] INDEX <インデックス名>
         ON <テーブル名>(列名,...) ;―――――――――――――(1)

※※ <>は必須、[]はオプション構文との意味です。

ではテーブル作成例をみてみましょう。
例1:
CREATE INDEX IDX_USER_MST_NAME ON USER_MST(NAME);

テーブルUSER_MSTの列NAMEに対してIDX_USER_MST_NAMEという名前のインデックスを作成する。

また、それぞれのデータベースによりCREATE INDEX構文が異なる場合があることを注意してください。

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments