MySQL索引分类:
1、单值索引:单列,一个表中可以有多个。
2、唯一索引:不能重复,例如id,可以是null
3、复合索引:多个列构成的索引(相当于二级目录:比如name和age两个列组成的索引就先按name查询如果name重复再加上age这个条件,如果没有重复就只用name就行了)
4、主键索引:不能重复,不能是null
创建索引:
方式一:
create 索引类型 索引名 on 表(字段)
单值:
create index dept_index on tb(dept);
唯一
create unique index name_index on tb(name);
复合:
create index dept_name_index on tb(dept,name);
方式二:
alter table 表名 索引类型 索引名(字段)
单值:
alter table tb add index dept_index(dept);
唯一:
alter table tb add unique index name_index(name);
复合:
alter table tb add index dept_name_index(dept,name)
注意:如果一个字段是primary key,则改字段默认就是主键索引
删除索引:
drop index 索引名 on 表名;
drop index name_index on tb;
查询索引
show index from 表名;
show index from 表名 \G