MySQL 的慢查询日志是MySQL提供的一种日志记录,他用来记录在MySQL中响应时间超过阀值的语句。
使用命令 :
show variables like '%slow_query_log%';
看看slow_query_log 是否为 ON,默认不开启非OFF。
set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。
修改阈值为3
set global long_query_time=3;
查看阈值是多少
使用命令:
show variables like 'slow_query_log_file';
执行一句4秒的查询语句:
打开日志文件查看:
使用命令:
show global status like 'Slow_queries';
在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活。
MySQL提供了日志分析工具 mysqldumpslow
查看mysqldumpslow的帮助信息:
比如,得到返回记录集最多的10个SQL。
具体环境中,运行时间超过long_query_time值的SQL语句,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是记录运行10秒以上的语句。默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件和数据库表。
五、尾巴
笔记+学习来自b站尚硅谷周阳的MySQL高级慢查询日志。
整理引用来自博客:
https://blog.csdn.net/qq_40884473/article/details/89455740