首先需要明确,什么时候mysql需要进行优化,哪些地方需要优化,如何进行优化
对于mysql的优化,分为下面几个部分:
- 定位慢查询
- 分析SQL执行计划
- 索引
- SQL优化经验
1.如何定位慢查询
慢查询出现的情况如下:

定位慢查询的方式:
1.使用开源工具

2.使用mysql自带慢日志


开启慢日志查询后,需要重新启动Mysql服务器进行测试,可以查看慢日志文件中记录的信息


在定位了慢查询以后,要进行分析优化
2.分析sql语句
可以采用EXPLAIN或者DESC命令获取Mysql如何执行SELECT语句的信息

这里面有很多字段,我们需要进行逐个分析


重点就是key_len、key、type、extra这几个字段
3.索引优化
如果我们的查询发生了索引未命中或者索引失效以及回表查询等情况时,查询就会比较慢,此时我们就需要对索引进行优化
1.对于回表查询,如果数据量比较大可以使用覆盖索引或者建立联合索引
2.对于索引失效,我们可以修改使用方式
3.对于未命中索引,我们可以新建索引
4.Mysql超大分页如何解决



索引的创建原则:


5.SQL优化经验
SQL优化主要是从这几点来实现的:


