要查找执行速度比较慢的sql语句,从两个方面来获取要要优化的sql语句
1、使用mysql里面的 慢查询日志
2、使用profiles机制
慢查询日志
首先来说第一个使用mysql的慢查询日志,在这里 我们要先了解什么是慢查询日志?
在某些sql语句执行完毕后所花费的时间特别长,我们就将这种相应比较慢的语句记录记录在慢查询日志中,这里的慢查询日志并不是仅仅做查询的时候使用,insert,delete,update,call等DML操作只要是超过了我们自己设定的时间,都可以被称为“慢查询”。
(1)如何开启慢查询日志,
方式一:打开mysql的配置文件,my.ini,添加如下语句:修改完成后,要重启mysql服务。
(2)开始测试,是否记录执行时间超过0.5秒 的sql语句。
select benchmark(执行次数,表达式);
在慢查询日志文件里面查看是否记录:
(3)相关的一些命令,
查看慢查询日志的时间界限
可以在当前会话中进行修改慢查询的时间界限:
语法:set long_query_time=时间界限
使用profiles机制
该机制开启后,会记录每个sql语句的执行时间,精确到小数点后8位。
如果开启:set profiling=1|0 值为1则是开启,为0则是关闭。
查看sql语句的执行时间:show profiles。