查看是否开始慢查询日志
命令: show variables like '%slow_query_log%';

ON开启,OFF关闭
如何开启慢查询日志
命令:set global slow_query_log = 1;

慢查询日志位置
命令:show variables like '%slow%';

查看慢查询时间
命令:show variables like 'long_query_time';

默认:10s
设置慢查询时间
命令:set global long_query_time=4;

这里设置完有时候不生效,需要退出并重新连接数据库即可。
有没有使用索引的查询
命令:show variables like 'log_queries_not_using_indexes';

开启使用索引的查询
命令:set global log_queries_not_using_indexes=1;

性能问题
在 MySQL的当前版本中,慢査询日志是开销最低、精度最高的测量查询时间的工具。如果还在担心开启慢查询日志会带来额外的IO开销,那大可以放心。我们在IO密集型场景做过基准测试,慢查询日志带来的开销可以忽略不计(实际上在CPU密集型场景的影响还稍微大一些)。更需要担心的是日志可能消耗大量的磁盘空间。如果长期开启慢査询日志,注意要部署日志轮转( log rotation)工具。或者不要长期启用慢査询日志,只在需要收集负载样本的期间开启即可。


本文介绍MySQL慢查询日志的配置方法,包括开启慢查询日志、设置慢查询时间及查看未使用索引的查询等操作。同时探讨了慢查询日志对性能的影响及其在性能调优中的作用。
3235





