首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >插入延迟锁定的表阻止PHP进程继续

插入延迟锁定的表阻止PHP进程继续
EN

Server Fault用户
提问于 2011-01-03 18:43:01
回答 1查看 1.2K关注 0票数 2

我们的Our服务器将一些跟踪信息写入MySQL数据库(使用INSERT延迟到MyISAM表)。当在此表上执行大型SELECT查询或由于另一原因锁定它时,When服务器进程(插入延迟)正在等待数据库,在某些情况下,Apache达到了MaxServer限制,因此它们将停止服务请求。

我们使用INSERT延迟是因为

INSERT语句的延迟选项是标准SQL的MySQL扩展,如果您的客户端不能或不需要等待插入完成,这个扩展非常有用。如果您使用MySQL进行日志记录,并且定期运行SELECT和UPDATE语句,这些语句需要很长时间才能完成,这是常见的情况。

引用MySQL文档的话。

我想知道为什么Apache进程等待插入延迟完成。我该怎么做才能把数据发出去然后忘掉它呢。(因为这是日志数据,所以我不在乎我们是否丢失了一些条目。)即使锁定了表,PHP脚本也应该继续运行,而不应该等待MySQL的答复。

(我们不想为这个表设置主从程序,但是我们正在考虑将这些数据移动到某个NoSQL数据库。但是现在,我想知道为什么INSERT延迟不像预期的那样工作。)

EN

回答 1

Server Fault用户

发布于 2011-01-03 20:11:21

在我看来,你是在做正确的事情来得到你想要的东西,而你所描述的就是它的工作方式。思想:

  • 检查您的MySQL线程计数
  • 您在PHP中使用mysql_pconnect()吗?我不知道如何处理持久连接,但是如果它被长select所阻塞,它可能会干扰插入。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/218275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档