12.インデックスについて

■インデックスの作成
・テーブル作成時作成
mysql> create table テーブル名(作成対象カラム名 データ型 not null,index インデックス名(作成対象カラム名));
例)mysql> create table ex_table(ex_c1 tinyint not null primary key auto_increment,
-> ex_c2 varchar(15),index ex_index(ex_c1));

・既存のテーブルに作成
mysql> create index インデックス名 on テーブル名(作成対象カラム名);
例)mysql> create index ex_index on ex_table(ex_c);

又は、
mysql> alter table テーブル名 add index インデックス名(対象カラム名);
例)mysql> alter table ex_table add index ex_index(ex_c);

※対象フィールドがTEXT又はBLOB型の場合、合わせてサイズ指定も必要。(MAX255Byte)
例)mysql> alter table ex_table add index ex_index(ex_c(255));

■インデックスの確認
mysql> show index from テーブル名;
例) show index from ex_table;
※Key_nameのカラムにインデックス名が表示される

■インデックスを使用して検索しているかの確認
mysql> explain select * from テーブル名 where インデックスを持つカラム名="";
例) explain select * from ex_table where ex_c="aaa";
※possible keysにインデックス名が表示される

■インデックスの削除
mysql> drop index インデックス名 on テーブル名;
例) mysql> drop index ex_index on ex_table;

戻る | CGI'sトップへ戻る