如何排查/调试MySQL慢查询?

3

如果你有一个慢的SQL查询,你该如何调试它?

你应该从哪里开始,并且需要哪些步骤来识别问题?

我对这个主题还很陌生,在网上搜索也无法给我清晰的启示如何入手。


3
我认为这个问题应该被回答。在stackoverflow上有很多比这个更广泛的问题,而且它们大多数都有答案。我认为询问关于调试慢查询时可以做的事情清单是合理的。 - hfatahi
1
我同意@Yuck的观点。这个问题太过宽泛,应该由管理员立即关闭。如果hfatahi发现其他问题也太过宽泛,那么不管它们有多少答案,都应该被关闭。仅仅因为一个问题有答案,并不意味着它适合在SO上讨论。我建议阅读帮助文档,特别是关于SO上什么是适合讨论的话题的部分。干杯! - Anil
1个回答

4
你最好的工具是查看执行计划。在高层次上,执行计划显示查询的执行方式,以及相对于其他部分,哪些部分需要更多的处理。如果没有看到查询和执行计划,这是本站上任何人都能为您做的最好的事情。有很多因素可能导致问题。
以下是一些参考资料(取决于您使用的MySQL版本)- http://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html http://dev.mysql.com/doc/refman/5.0/en/execution-plan-information.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接