1. 简述
在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具 mysqldumpslow
1.1 mysqldumpslow – help
- -s: 是表示照何种方式排序;
- -c: 访问次数
- -l: 锁定时间
- -r: 返回记录
- t: 时间
- al:平均锁定时间
- ar:平均返回记录数
- at:平均查询时间
- -t:是top n的意思,即为返回前面多少条的数据;
- -g:后边搭配一个正则匹配模式,大小写不敏感的;
1.2 工作常用参考
-
得到返回记录集最多的10个SQL
mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log -
得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /var/lib/mysql/atguigu-slow.log -
得到照时间排序的前10条里面含左连接的查询语句
mysqldumpslow -s t -t 10 -g “left join” /var/lib/mysql/atguigu-slow.log -
另外建议在使用这些命令时结合 | 和more 使用 ,否则可能出现爆屏情况
mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log | more