インデックスの作成

広告

カラムに対してインデックスを作成する方法を確認します。書式は次の通りです。

CREATE TABLE db_name.tbl_name
  (col_name1 data_type1, col_name2 data_type2, ...,
  INDEX (index_col_name1, index_col_name2, ...));

指定したカラムに対してインデックスを作成します。複数のカラムを対象にしたインデックスを作成することもできます。

※インデックスの作成にはCREATE INDEX文を使用することもできます。詳しくはインデックスのページで確認します。

では実際に試してみます。次のようなテーブルを作成します。

mysql> create table indextest(id int, name varchar(10), index(id));

p10-1

作成したテーブルのカラム情報を取得してみます。

p10-2

インデックスが設定されたカラムの「Key」列の値に「MUL」が設定されていることが分かります。

またインデックスについても確認してみます。次のように入力して下さい。

mysql> show index from indextest¥G

p10-3

詳しいことはインデックスのページで確認しますが、「id」カラムを対象としたインデックスが1つあり、「Non_unique」が1なのでユニーク制約がないインデックスであることを表しています。

ではデータを追加してみます。

p10-4

インデックスが設定されているカラムにはユニーク制約はありません。そのため対象のカラムに既に存在している値と同じ値を持つデータを追加することもできます。

p10-5

( Written by Tatsuo Ikura )