MySQL慢查询日志

时间:2022-09-16 10:09:15

千磨万击还坚韧,任尔东西南北风
所谓慢查询日志,就是把执行得比较慢的查询记录成日志.那么,慢是什么概念呢?在MySQL5.1之后,用户可以自定义慢的时间阀值.通过设置long_query_time变量.即当查询时间大于(而非大于等于)你设置的long_query_time值时,则记录在日志中.记录的方式可以是表或者是文件.再或者两者同时记录.

查看是否开启慢日志查询功能

show variables like '%slow_query_log%';

MySQL慢查询日志
图中为OFF,则是未开启..开启查询慢日志

set global slow_query_log=1;

MySQL慢查询日志
第二个值是慢查询日志记录文件的位置.
设置慢日志查询时间阀值
在开启慢日志查询后默认的时间阀值为10秒
查看慢日志查询时间阀值:

show variables like '%long_query_time%';

MySQL慢查询日志
这里设置时间阀值为0.01秒

set global long_query_time=0.01;

再查看(如果在当前窗口查看结果仍为10,则需要另起一个新窗口查询):
MySQL慢查询日志

接下来执行查询语句,如果该查询执行时间大于long_query_time阀值,则会记录在日志文件中
打开记录日志mysql.slow_log查看
MySQL慢查询日志
从这里你可以看到执行时间,返回结果的行数等信息