mysql官方对索引 的定义为:索引(index)是帮助mysql高效获取的数据结构。
1.1 索引的分类
主键索引(primary key):
唯一标识,不可重复,只能有一个列作为主键
唯一索引(unique key)
避免重复的列出现,可以重复,多个列都可以标识为唯一索引
常规索引(key)
默认的,可以使用index或key关键字设置
全文索引(fulltext)
在特定的数据库引擎下才有,MyISAM,快速定位数据
显示学生表的索引信息:show index from student
增加索引: index 索引的名字(指定的列)
① alter table `student` add fulltext index `studentname`(`studentname`) -------添加一个全文索引
②create index studentname on student(`studentname`)
使用explain 分析sql执行的状况:
explain select * from student ; --非全文索引
explain select * from student where match(studentName) against('陈'); ---全文索引
注:索引在小数据量的时候效果不明显,但在大数据的时候效果显著
1.2 索引原则:
1、索引不是越多越好
2、不要对常变动的表添加索引。
3、小数据量的表不需要添加索引
4、索引一般添加在用来查询的字段上