有没有办法查看每天在MySQL上花费最多时间的查询类型的概述?
答案 0 :(得分:5)
是的,mysql可以创建一个慢查询日志。您需要使用mysqld
标记启动--log-slow-queries
:
mysqld --log-slow-queries=/path/to/your.log
然后您可以使用mysqldumpslow
解析日志:
mysqldumpslow /path/to/your.log
此处有更多信息(http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html)。
答案 1 :(得分:1)
您可以随时设置查询记录,如下所述:
http://dev.mysql.com/doc/refman/5.0/en/query-log.html
答案 2 :(得分:1)
这取决于你的意思大部分时间'。可能有数千个(如果不是数十万个)查询,每个查询只花费很少的时间,但消耗90%的CPU / IO带宽。或者可能有一些巨大的异常值。 有一些性能监控和分析工具,例如内置的PERFORMANCE_SCHEMA,Oracle / MySQL团队的企业工具,以及可以跟踪整个应用程序堆栈性能的newrelic等在线服务。