位置:首页 > 后端 > 数据库

MySQL慢查询SQL排查

chenlong 发布:2021-10-28 14:47:49阅读:

1.慢查询SQL排查

慢查询日志是MySQL提供的一种日志记录,用于记录MySQL中响应时间超过阀值的SQL语句(long_query_time,默认10秒)
检查是否开启了慢查询日志:
show variables like ‘%slow_query_log%’;

开启慢查询日志:
临时开启:
set global slow_query_log = 1;// 在内存中开启
service mysql restart;

永久开启修改配置文件
/etc/my.cnf中追加配置:
vi /etc/my.cnf
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/localhost-slow.log

慢查询阀值:
show variables like ‘%long_query_time%’;

设置慢查询阀值:
set global long_query_time = 5;// 修改完成后重新登陆生效

永久设置慢查询阀值:
/etc/my.cnf中追加配置:
vi /etc/my.cnf
[mysqld]
long_query_time = 3

查询超过阀值的SQL:
show global like ‘%slow_queries%’;

或者直接查看日志文件
slow_query_log_file = /var/lib/mysql/localhost-slow.log

2.通过mysqldumpslow工具查看慢SQL

s:排序方式
r:逆序
l:锁定时间
g:正则匹配模式

  • 获取返回记录最多的3个SQL
    mysqldumpslow -s r -t 3 /var/lib/mysql/localhost-slow.log

  • 获取访问次数最多的3个SQL
    mysqldumpslow -s c -t 3 /var/lib/mysql/localhost-slow.log

  • 按照时间排序,前10条包含left join查询语句的SQL
    mysqldumpslow -s t -t 10 -g /var/lib/mysql/localhost-slow.log


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看