Mysql服务器有一项功能,可以检测到哪条sql语句查询得比较慢,就是慢查询slowlog,现在介绍如何开启。
在[mysqld]下面增加如下代码:
long_query_time = 1 #定义超过1秒的查询计数到变量Slow_queries log-slow-queries = /var/log/slow.sql #定义慢查询日志路径。 log-queries-not-using-indexes #未使用索引的查询也被记录到慢查询日志中(可选)
执行mysqldumpslow –h可以查看帮助信息。
常用参数
-s 这个是排序参数,可选的有:
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 计数
l: 锁定时间
r: 返回记录
t: 查询时间
-t n 显示头n条记录。
实例
mysqldumpslow -s c -t 20 host-slow.log mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g "left join" host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。
原文地址:https://www.cnblogs.com/shamohai/p/9753495.html
时间: 2024-11-25 04:16:14