如何根据慢查询日志定位慢SQL?
在项目中我们会经常遇到慢查询,我们如何定位这些慢查询,并分析慢的原因呢?我们一步一步来
注:文章大部分内容总结自《MySQL是怎样运行的?》
系统变量
MySQL和慢查询相关的系统变量如下
参数 | 含义 |
---|---|
slow_query_log | 是否启用慢查询日志, ON为启用,OFF为没有启用,默认为OFF |
log_output | 日志输出位置,默认为FILE,即保存为文件,若设置为TABLE,则将日志记录到mysql.show_log表中,支持设置多种格式 |
slow_query_log_file | 指定慢查询日志文件的路径和名字 |
long_query_time | 执行时间超过该值才记录到慢查询日志,单位为秒,默认为10 |
执行如下语句看是否启用慢查询日志,ON为启用,OFF为没有启用
show variables like