1.找到慢查询日志:

windows版本的mysql的慢查询日志

路径:C:\ProgramData\MySQL\MySQL Server 5.7\Data

如下图:

我这里有60M的日志

linux版本:

locate slow.log
即可查询,如果发现command not found
执行:
yum  -y install mlocate
即可

结果如下:

2.打开慢查询日志:

找到其中一条sql,使用navicate工具去查看慢的原因:

使用EXPLAIN关键字,放在sql前面,即可实现分析,如下:

EXPLAIN
select *
from oil_map_roadbook_step
where oil_map_roadbook_step.map_road_book_id = 2871;

解析情况如下:

此处扫描了16万行,没有做索引,分析一下该如何优化该sql:

查找关于该sql的关联关系,目前可以通过创建索引的方式来优化性能,此处的扫描是全局扫描,一共扫描了   11万行,导致此处的性能极低,解决方案:

再次分析下,结果如下:

解决了!

Logo

更多推荐