MySQL官方对索引的定义为:索引(index)是帮助Mysql高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构
索引的分类
- 主键索引 (pirmary key): 唯一的标识,主键不可重复,只能有一个列作为主键
- 唯一索引 (u'nique key): 避免重复的列出现,唯一索引可以重复,多个列都可表示为唯一索引
- 常规索引 (key / index) : 默认的,可以使用 index / key 设置
- 全文索引 (fulltext) :
在特定的数据库引擎下才能使用。
快速定位数据
基础语法
alter table 表名 add 索引类型 index 索引名称 (索引列);
alter table shop add fulltext index `studentName` (`studentName`);
explain 分析sql执行情况
explain select * from student; ---非全文索引
explain select * from 表名 where match(索引名) 索引值判断;
explain select * from student where match(studentName) against('刘');
结论:
索引的作用就在于能够快速的降低获取数据的时间,但对于小数据量的表不需要加索引,索引一般加在经常用来查询的字段上,不在进程变动的数据上加索引。