mysql慢查询分析工具:
mysql官方出品: mysqldumpslow
在命令行下使用: mysqldumpslow -t 3 文件路径
mysqldumpslow -t 3 /usr/local/mysql/log/mysql_slow_query.log | more
结果中第一条: 执行了一次,执行时间是11.79秒,锁定了0秒,扫描了83行
Count: 1 Time=11.79s (11s) Lock=0.00s (0s) Rows=83.0 (83), simple[simple]@[114.114.114.114]
show full tables from `sakila` where table_type = 'S'
pt-query-digest(推荐使用)
见 http://blog.csdn.net/seteor/article/details/24017913
怎么发现有问题的sql?
1.查询次数多且每次查询占用时间长
通常为pt-query-digest分析的前几个查询
2.IO大的sql
注意pt-query-digest分析中的Rows examie项(扫描的行数)
3.未命中索引的sql
注意pt-query-digest分析中的Rows examie项与Rows Send的对比(扫描的行数远远大于发送的行数)