如何监视MySQL以检测运行速度较慢的选择?在确定了一个表现不佳的选择后,我将如何分析它,以期改进它?
发布于 2010-03-29 17:48:57
MySQL保留了一个“慢查询日志”,它将为你提供关于慢查询的信息。
我认为它在默认情况下是启用的,并且它的位置是在您的MySQL .ini文件中设置的。
有关慢查询日志的详细信息,请参阅here。
您可以使用EXPLAIN获取有关MySQL如何执行查询的信息-只需将EXPLAIN放在查询之前。关于如何解释结果,有一篇很好的文章here。
发布于 2010-03-29 17:51:52
您可以启用slow query日志记录,例如,将以下内容添加到my.cnf的[mysqld]部分下
set-variable=slow_query_log=on
set-variable=long_query_time=20这会将耗时20秒或更长时间的所有查询记录到一个“主机名”-slow.log,例如/var/lib/mysql/localhost-slow.log
然后你可以检查这些查询,至少在它们上运行EXPLAIN,并找出导致它变慢的原因,例如添加索引,重写SQL等-尽管优化查询是另一回事。
https://stackoverflow.com/questions/2536963
复制相似问题