インデックス作成

create index ind1 on tab1(col1);
create index ind21 on tab2(col2);

alter table tab7 add primary key(col1);
alter table tab7 add index ind71 (col2);
alter table tab7 add unique ind72(col3);

alter table tab6 add index ind63(col2);

--プレフィックスインデックス
alter table tab6 add index ind64(col2(1));

 

create index ind11 on tab1(col1);

alter table tab7 drop index ind72;

drop index ind71 on tab7;
drop index `primary` on tab7;


show index in tab6\G
show index from tab6;

 

※インデックス定義確認はテーブル定義に含まれる

select TABLE_NAME,INDEX_NAME
from information_schema.statistics where TABLE_SCHEMA='test';

--hash index
create table tab100(col1 int) engine=innodb;
alter table tab100 add index ind100 using hash (col1);

create table tab101(col1 int) engine=myisam;
alter table tab101 add index ind101 using hash (col1);
→マニュアルではサポート外であるが、エラーとならない。


--フルテキストインデックス
※(5.6) からフルテキストインデックスが InnoDB でも使えるようになった

create table tab204(name char(40));
alter table tab203 add fulltext ind203 (name);


CREATE TABLE opening_lines (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
opening_line TEXT(500),
author VARCHAR(200),
title VARCHAR(200),
FULLTEXT idx (opening_line)
) ENGINE=InnoDB;

 

\di+

CREATE INDEX CONCURRENTLY ind11 ON tab1 (col1);
CREATE unique INDEX CONCURRENTLY ind12 ON tab1 (col1);

alter table tab1 add constraint ind12 primary key using index ind12;


--カバリングインデックス(11)
create table tab1(col1 int not null,col2 text);
create unique index ind11 on tab1 using btree(col1) include (col2);

 

--クラスター化インデックス
CREATE CLUSTERED INDEX ind41 on tab4 (col1,col2);
go

--非クラスター化インデックス
CREATE NONCLUSTERED INDEX ind42 on tab4 (col3);
go