mysqldumpslow命令

mysqldumpslow -s c -t 10 /slow-log

这会输出记录次数最多的10条SQL语句,其中:

-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
比如

mysqldumpslow -s r -t 10 /slow-log

得到返回记录集最多的10个查询。

mysqldumpslow -s t -t 10 -g “left join” /slow-log

得到按照时间排序的前10条里面含有左连接的查询语句。

小结

使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。