debuggingMySQL慢查询的最佳方法?

首先我想告诉你,我是Linux用户pipe理的新用户,我需要一些帮助。

我拥有一个CloudLinux Web服务器,而且我正面临一个MySQL Slow Queries问题。 问题是我在我的主机上有几个用户,运行很多很慢的查询,这导致了MySQL服务终止(我想这是终止的,实际上,MySQL服务器根本没有响应)。

现在的问题是,我怎样才能debugging这个查询? 我知道慢查询日志文件。 我已经看到了这个文件,但是内容太难阅读了。 那么Pro有没有更好的方法?

亲切的问候

使用Percona查询摘要工具来构build慢查询日志的摘要。 这将帮助你find最慢的缓慢:

http://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html

然后使用mysql的EXPLAIN命令找出为什么一个特定的查询很慢:

http://dev.mysql.com/doc/refman/5.0/en/explain.html

希望这可以帮助

如果您在理解慢速查询日志文件时遇到困难,那么您最好购买专业的DBA服务来帮助您解决问题。

通常情况下,查询运行缓慢,如果绑定了大量的资源,并且服务器上有资源争用,即CPU,内存和I / O。

除了购买更大,更快的服务器之外,与缓慢查询相关的索引表可能是帮助提高性能的一种方法。 看看这个答案 。

您也可以启用查询caching来帮助减轻重复真正昂贵的查询的需要。

无论如何,这只是一个开始。

– ab1

EXPLAIN是获取有关查询如何执行的最基本的方法。 它受到所有MySQL版本的支持。 最重要的是你会看到如何使用索引。

我用这个SQLyog。