1、分析工具mysqldumpslow
mysqldumpslow是mysql自带的慢日志分析工具。
[root@VM_0_5_centos ~]# mysqldumpslow -s /var/log/mariadb/slow_query_log.txt
Reading mysql slow query log from /var/log/mariadb/slow_query_log.txt
Count: 3 Time=3.67s (11s) Lock=0.00s (0s) Rows_sent=1.0 (3), Rows_examined=0.0 (0), root[root]@[218.17.185.19]
select SLEEP(N)
结果:出现次数、平均时间、锁时间、。。。
2、参数
mysqldumpslow --help 用法:mysqldumpslow [OPTS ...] [LOGS ...]
解析并总结MySQL慢速查询日志。选项是
--verbose verbose
--debug debug
--help 将此文本写入标准输出
-v verbose
-d debug
-s ORDER 要排序的内容(al,at,ar,c,l,r,t),'at'是默认值
al:平均锁定时间
ar:平均行发送
at:平均查询时间
c :计数
l:锁定时间
r:发送的行
t:查询时间
-r 反转排序顺序(最大值而不是第一个)
-t NUM 只显示前n个查询
-a 不要将所有数字都抽象为N, S”
-n NUM 与名称内至少有n个数字抽象的数字
-g PATTERN grep的:只考虑支杆包括此字符串 -h主机名 db服务器的主机名为* -slow.log文件名(可以是通配符), 默认是'*',即匹配所有 服务器实例的
-i NAME 名称(如果使用mysql.server启动脚本)
-l 不减去锁定时间从总时间
mysqldumpslow -s t -t 5 mysqlslow.log
Count会告诉我们这种类型的语句执行了几次
Time会告诉我们这种类型的语句执行的最大时间
Time=2.79s (5s)中(5s)是指这类型的语句执行总共花费的时间
定位到具体执行的慢查询sql之后,就需要用explan命令来分析原因。