慢查询常用的分析工具有两个:mysqldumpslow和pt_query_digest。
mysqldumpslow:汇总除查询条件外其他完全相同的SQL,并将分析结果按照参数中所指定的顺序输出。
语法:mysqldumpslow -s r -t 10 slow-mysql.log
-s order (c,t,l,r,at,al,ar)
- c:总次数;
- t:总时间;
- l:锁的时间;
- r:总数据行;
- at:总时间的平均数;
- al:锁的时间的平均数;
- ar:总数据行的平均数。
-t top:指定取前面几天作为结果输出
mysqldumpslow.pl -s t -t 10 sql-slow.log

pt_query_digest:
示例命令:
pt-query-digest –explain h=127.0.0.1, u=root,p=password slow-mysql.log

汇总的信息:
- 总的查询时间;
- 总的锁定时间;
- 总的获取数据量;
- 扫描的数据量;
- 查询大小。


- Response: 总的响应时间;
- time: 该查询在本次分析中总的时间占比;
- calls: 执行次数,即本次分析总共有多少条这种类型的查询语句;
- R/Call: 平均每次执行的响应时间;
- Item : 查询对象。
执行计划:
