我在网站上遇到了一些问题(基本上MySQL正在杀死进程)
我发现在命令行中使用top
向我显示MySQL是限制了proccessors。
所以我运行了mysqladmin processlist命令。
显示
ID ----- 用户 -----的主机 -----的 DB ----- 命令 ----- 时间 ----- 状态 -------- 信息
47 ----- ------ XXX XXX XXX ------- ---- -----------查询2400 ----- Statistics-- --SELECT DISTINCT .....
我相信这告诉我上述查询过长,卡住或无法完成。
我的开发人员问我是否有办法确定更多信息,例如产生这些信息等等
答案 0 :(得分:0)
你可以在查询中使用EXPLAIN。它按照MySQL在处理语句时读取它们的顺序列出输出中的表。
希望可能有所帮助
答案 1 :(得分:0)
您粘贴的输出显示列出的查询已经运行了2400秒,除了您之外,对于任何人来说,这是否太长或太长都是不可能的。
如果您运行SHOW FULL PROCESSLIST而不仅仅是SHOW PROCESSLIST,MySQL会告诉您正在运行的完整查询,而不仅仅是前几个单词。
一旦您看到正在运行的确切查询,您/您的开发人员就应该能够使用数据库在网站的源代码中找到它。