MySQL服务器:最频繁的请求

我想知道是否有反正我可以在MySQL服务器上显示最频繁的SQL查询以便memcache它。

您必须启用查询日志logging,或者您应该监视它通过show processlist; 请参阅文档:

http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html

如果您正确选取参数,则可以在慢查询日志中看到查询:

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

检查mysqlsla – 它可以把你的查询日志,参数化查询,并为您提供最常出现的查询types的报告。

我build议你设置你的慢查询时间到一个非常小的,然后运行maatkit的mk-query-digest来分析所有logging的查询。 您也可以在普通的日志文件上运行它。

还有其他的maatkit工具也可以帮助。

Innotop是观察你的服务器的一个好方法 – 通常比显示stream程列表更容易留意。

我一直在使用用于MySQL http://www.jetprofiler.com/的商业软件包Jet Profiler,并喜欢它。 大约400美元,虽然有一个试用期。

否则,我在我的应用程序中loggingSQL请求。 使用Java(我select的语言),您可以configurationJDBC Connector / J驱动程序来logging所有SQL请求。 然后我做了正则expression式和手工编辑的混合,使其可读性和分析结果。