解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
mysql slow log分析工具的比较(1)
mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具。
在 my.cnf 中设置
[mysqld] slow_query_log=on slow_query_log_file=mysql-slow
重启 MySQL 服务。
mysql-log-filter
google code 上找到的一个分析工具,提供了 python 和 php 两种可执行的脚本。
http://code.google.com/p/mysql-log-filter/
功能上比官方的 mysqldumpslow 多了查询时间的统计信息(平均、最大、累计),其他功能都与 mysqldumpslow 类似。
特色功能除了统计信息外,还针对输出内容做了排版和格式化,保证整体输出的简洁。喜欢简洁报表的朋友,推荐使用一下。
myprofi
纯 php 写的一个开源分析工具.项目在 sourceforge 上。
http://myprofi.sourceforge.net/
mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具。
在 my.cnf 中设置
[mysqld] slow_query_log=on slow_query_log_file=mysql-slow
重启 MySQL 服务。

功能上,列出了总的慢查询次数和类型、去重后的 sql 语句、执行次数及其占总的 slow log 数量的百分比。从整体输出样式来看,比 mysql-log-filter 还要简洁,省去了很多不必要的内容。对于只想看 sql 语句及执行次数的用户来说,比较推荐。
总结:
| 工具/功能 | 一般统计信息 | 高级统计信息 | 脚本 | 优势 |
| mysqldumpslow | 支持 | 不支持 | perl | mysql官方自带 |
| mysqlsla | 支持 | 支持 | perl | 功能强大,数据报表齐全,定制化能力强 |
| mysql-explain-slow-log | 支持 | 不支持 | perl | 无 |
| mysql-log-filter | 支持 | 部分支持 | python or php | 不失功能的前提下,保持输出简洁 |
| myprofi | 支持 | 不支持 | php | 非常精简 |
原文链接:http://my.oschina.net/moooofly/blog/160201