MySQL慢查询
一.什么是慢查询
慢查询指运行时间超过long_query_time值的sql,它会被记录到慢查询日志中,long_query_time的默认值是10秒。默认情况下MySQL并没有开启慢查询日志,需要我们手动设置。如果不是调优需要一般不建议启动该参数。
如何查看慢查询日志是否开启及如何开启
1.查看慢查询日志是否开启
show VARIABLES like '%slow_query_log%';
2.开启慢查询日志
set GLOBAL slow_query_log = 1;
三.如何查看及设置long_query_time的值
1.查看long_query_time的值
show VARIABLES like '%long_query_time%';
默认值是10秒,也就是说在mysql中sql运行时间超过(不包括)10秒则会被记录到慢查询日志中。
2.设置long_query_time的值
set GLOBAL long_query_time = 3;
设置成功后直接查看可能值没有变化,可以重新开启一个数据库连接再查看,或者使用新命令。
show GLOBAL VARIABLES like '%long_query_time%';
四.测试慢查询
写条sql执行11分钟。
select SLEEP(11);
然后去上面目录下查看慢查询日志。
能够看到哪条sql是慢查询及执行时间,是否加锁等信息。
五.查看系统中有几条慢查询语句
show GLOBAL STATUS LIKE '%Slow_queries%'