MySQL查询占用CPU

时间:2011-11-16 16:05:59

标签: mysql

我在网站上遇到了一些问题(基本上MySQL正在杀死进程)

我发现在命令行中使用top向我显示MySQL是限制了proccessors。

所以我运行了mysqladmin processlist命令。

显示

ID ----- 用户 -----的主机 -----的 DB ----- 命令 ----- 时间 ----- 状态 -------- 信息

47 ----- ------ XXX XXX XXX ------- ---- -----------查询2400 ----- Statistics-- --SELECT DISTINCT .....

我相信这告诉我上述查询过长,卡住或无法完成。

我的开发人员问我是否有办法确定更多信息,例如产生这些信息等等

2 个答案:

答案 0 :(得分:0)

你可以在查询中使用EXPLAIN。它按照MySQL在处理语句时读取它们的顺序列出输出中的表。

希望可能有所帮助

答案 1 :(得分:0)

您粘贴的输出显示列出的查询已经运行了2400秒,除了您之外,对于任何人来说,这是否太长或太长都是不可能的。

如果您运行SHOW FULL PROCESSLIST而不仅仅是SHOW PROCESSLIST,MySQL会告诉您正在运行的完整查询,而不仅仅是前几个单词。

一旦您看到正在运行的确切查询,您/您的开发人员就应该能够使用数据库在网站的源代码中找到它。