1.索引的创建
(1)创建表的时候创建索引
<1>创建普通索引
create table 表名称(字段名称1 字段类型1......,index (字段名称1)) ;
<2>创建唯一索引unique(索引的列的值必须是唯一的,但允许有空值,如果是组合索引,则列值的组合必须唯一)
create table 表名称(字段名称1 字段类型1......) unique index(字段名称);
<3>创建单列索引(某一个字段上创建新的索引)
create table 表名称(字段名称1 字段类型1......index (字段名称1)) ;
<4>创建组合索引(多个字段上创建索引);
create table 表名称(字段名称1 字段类型1...... index (字段名称1,字段名称2,字段名称3......));
<5>创建全文索引(fulltext),只支持MyISAM存储索引(char、varchar、text);
create table 表名称(字段名称1 字段类型1....... fulltext index (字段类型,必须为字符或者是文本类型))engine = MyISAM;
<6>创建空间索引(空间字段的类型必须为非空 not null);
create table 表名称(字段名称1 字段类型1....... spatial index (非空字段名称)) engine=MyISAM;
2.在已经存在的表上创建索引
(1)alter table 表名称 add (unique|fulltext|spatial index (字段名称)) engine=MyISAM;(只有在创建空间索引和全文索引的时候需要修改存储引擎);
(2)参数说明:
table:表示创建索引的表
Non_unique:表示索引非唯一,1代表 非唯一索引,0代表唯一索引;
Key_name:表示索引的名称;
Seq_in_index:表示该字段在索引的位置,单列索引该值为1,组合索引为每个字段在索引中所定义的顺序;
Column_name:表示索引的长度;
Sub_part:表示索引的长度;
Null:表示该字段是否为空值;
Index_type:表示索引类型;
3.使用create index创建索引;
(1)create unique|fulltext|spatial index 索引名称 on 表名称(字段名称(字段长度) );
4.删除索引
(1)使用alter table 表名称 drop index 索引名称;
(2)使用drop index 索引名称 on 表名称;