sql慢日志查询
MySQl提供了一种日志记录,终于记录响应时间超过阈值的sql语句(long_query_time,默认10s),默认关闭,开发时打开,部署时关闭
检查是否开启慢查询日志:show variables like '%slow_query_log%'
- 临时开启:set gloabl slow_query_log = 1;在内存里
永久开启:/etc/my.cnf
[mysqld] slow_query_log = 1 slow_query_log_file = /slow.log
慢查询阈值
- 临时设置:set global slow_query_time = 5;
- 永久设置:/etc/my.cnf
[mysqld] slow_query_time = 5
查询超过阈值的sql
1.show global status varibales like '%slow——queries%',具体通过日志查看
2.通过mysqldumpslow工具查看慢sql
s:排序方式
r:逆序
i:锁定时间
g:正则匹配模式
- 获取返回记录最多的3个sql:mysqldumpslow -s -t 3 /日志路径
- 获取访问次数最多的3个sql:mysqldumpslow -s c -t 3 /日志路径
- 按照时间排序,钱10条包含left join的sql:mysqldumpslow -s t -t 10 -g " left join" /日志路径
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »