今天又复习了一下索引,做一个总结吧
主要就是复习了索引分类概念,索引使用,SQL优化等三个方面
1. 主键索引,唯一索引,常规索引;
对于唯一索引,同一个表中可以创建多个,用作创建唯一索引的字段,不能有重复,在表中该字段值是不能呢重复的
如上图,根据phone这个字段创建了一个唯一索引
常规索引,用作创建常规索引的字段,在表中该字段值是可以重复的
2. 索引使用
主要就是再次熟悉了索引的创建,查看等方面,并且将命令都能很熟练的敲出来
创建
create [unique | fulltext ]index 索引名字 on 表名(字段名);
查看
show index from table 表名;
SQL优化
这个优化相当于一套思路吧,这里所说的是针对索引方面的
- 我们可以打开慢查询日志,来查看那些超过设定时间的sql语句
// 查看慢查询日志文件所在的位置
show variables like '%slow%';
// 实时跟踪日志文件中的日志
tail -f xxx.log
- 找到慢查询sql语句,分析为什么超过设定时间,使用explain分析,看它查询时的情况
- 可以添加索引,或者如果有索引了,看是否正确走了索引,或者看能不能走联合索引等去优化