mysqlでインデックスの作成/削除/確認する

ref.

作成

  • create table時に指定
create table hoge (
  id int,
  name char(8),
  hoge varchar(32),
  primary key (id),
  unique index uniq_idx_name (name),
  index idx_hoge (hoge)
);
  • table 作成後にindexのみ別途作成

テーブルと、どのカラムをインデックスの対象にするかを指定。

lcreate index index_name on table_name(column_name);

カラムがTEXT又はBLOB型の場合

合わせてサイズ指定も必要らしい。最大で255Byte。

# text_column_name
create index index_name on table_name(text_column_name(10));

削除

drop index index_name on table_name;

確認

## どっちでもよさげ
mysql> SHOW INDEX FROM database.table\G
mysql> SHOW KEYS  FROM database.table\G