索引的分类:
单值索引: 单列,比如age;一个表中可以有多个单值索引,可以再有name等。
主键索引:也是不能重复如id,不能为null,与唯一索引基本相同,唯一的区别是唯一索引可以为null.
唯一索引:这种索引不能重复,如不能设置age为唯一索引,因为age可能重复。可以设置id为唯一索引,可以null。
复合索引:多个列构成的索引(也相当于书的二级目录:z:zhao表示先找到字母z然后再找到zhao这个) 常用场景中有设置(name,age)为复合索引,如先找到name,如果有重复的name,然后再找age,如果找到就只有一个name,那就不用找age了。注意:是先执行name然后再是age,有时候age不一定需要执行。
创建索引:create 索引类型 索引名 on 表(字段)
第一种创建索引的方式:使用create:
单值索引:
sql如:create index dept_index on tb(dept);
唯一索引:
create unique index name_index on tb(namej);
复合索引:
create index dept_name_index on tb(dept,name);
第二种使用alter table add
单值索引:
sql如:alter table tb add index dept_index(dept);
唯一索引:
alter table tb add unique index name_index(namej);
复合索引:
alter table tb add index dept_name_index(dept,name);
如果一个字段是primary key,则该字段默认就是主键索引。
删除索引:
drop index 索引名 on 表名;
如:drop index name_index on tb;
查询索引:show index from 表名

注意:不要在索引上进行计算,函数,类型转换等,不然会是索引失效。
浙公网安备 33010602011771号