插入延迟错误

时间:2012-08-25 23:31:07

标签: mysql insert delay

我刚收到主办方提供的电子邮件,说明如下:

由于MySQL使用率过高,您的数据库已被阻止。 这是由以下查询引起的: | 17649732 |延迟| localhost | k * * * |延迟插入| 22 |等待INSERT |

我试图查看这些数字和信息的含义,但我一直无法找到任何有用的信息。我如何解决这种性质的错误和/或如何确定错误的解决位置?

2 个答案:

答案 0 :(得分:0)

根据我配置的MySQL引擎,“违规”查询很可能被MySQL引擎归类为所谓的“慢查询”,并且可能出现在“慢查询”日志中。

您需要与配置为您的站点提供服务的MySQL引擎的任何人交谈,以确定“慢查询”日志的状态,以便您可以查看该查询是否显示在日志中。

答案 1 :(得分:0)

这主要是由于服务提供商使用脚本来查找令人反感的mysql行为。在这种情况下,该行来自进程列表。您发出了INSERT DELAYED语句,该语句导致mysql创建“延迟插入线程”。这个线程将一直存在,直到mysql有理由将其删除。

该行中的22表示该线程处于“Waiting for INSERT”状态22秒。我的猜测是他们的脚本会查找运行时间超过15或20秒的查询,但是他们每10秒左右检查一次,导致数字不是10秒或5秒。

在任何情况下,此行都不会出现在慢查询日志中。我会询问提供者他们如何确定您使用的是mysql,并且可能将它们指向mysql文档以获取延迟插入。

你实际上也可能发布了大量的DELAYED INSERT,这恰好是他们捕获的时刻。没有更多信息就无法知道。