MySQLでインデックスを作成するSQL

この記事は2017年5月31日に書かれたものです。内容が古い可能性がありますのでご注意ください。


MySQLでインデックスを作成するSQL

キー指定したりインデックスを張ったり、あんまり頻繁に行っていないのでSQLを忘れてしまったり、
そもそもよくわかっていなかったりしたので、ここにまとめます。

インデックスの作成

1.テーブル作成時に指定する場合

create table テーブル名(カラム名 型 primary key, ・・・・,index idx1(カラム名(X)));(※Xは先頭からの文字数)
例:create table sample3(id int primary key,cnt1 int,cnt2 int,index idx1(cnt2(2)));

2.後から指定する場合

alter table テーブル名 add index インデックス名(カラム名(X));
例:alter table sample3 add index idx2(cnt2(2));

3.後から指定する場合(2)

create index インデックス名 on テーブル名(カラム名(X));
例:create index idx3 on sample3(cnt1(X));

4.インデックスを削除する場合

alter table テーブル名 drop index インデックス名;
例:alter table sample3 drop index idx3;

5.複合インデックスを指定する場合

alter table テーブル名 add index インデックス名(カラム名1, カラム名2);
例:alter table sample3 add index idx4(cnt1,cnt2);

6.ユニークインデックスを指定する場合

alter table テーブル名 add unique index インデックス名(カラム名1, カラム名2);※上記例に「unique」をつけるだけ。
例:alter table sample3 add unique index unq_idx4(cnt1,cnt2);

7.インデックスの確認

show index from テーブル名;

  • このエントリーをはてなブックマークに追加

PAGE TOP