蔡香满屋
站在牛顿头上吃苹果

索引的分类:

单值索引: 单列,比如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 表名

 注意:不要在索引上进行计算,函数,类型转换等,不然会是索引失效。

posted on 2018-11-03 17:43  蔡香满屋  阅读(119)  评论(0)    收藏  举报