小查询等待大查询解决Centos 6.5上的MYSQL PHP

小查询等待大查询解决Centos 6.5上的MYSQL PHP

我有一个 Centos 6.5,并且在 Tomcat 上运行 Vaadin,该应用程序对报告和其他内容的查询非常繁重。

我的问题是,当我从 PHP 连接到 MYSQL 时,当我进行一个小查询时,来自 PHP 的查询总是等待在 Tomcat 上请求 Vaadin 的重查询。

我尽力解决这个问题。

我认为这可能是 Apache 的问题,我安装并配置了 nginx 和 Apache,尝试在 nginx 上进行 php 查询(当然端口更改在 81 上),并将 Apache 单独留给 Vaadin。

有任何想法吗 ???

答案1

这就是MySQL工作原理。DBMS 应保证所谓的数据“完整性”(ACID 性),因此大多数操作都锁定了对特定表的访问。在操作完成之前,任何情况下都不应启动其他操作。所有查询都排队并按顺序逐一执行。一些 DB 引擎允许锁定不是整个表而是仅锁定相关行,但在现实生活中,这没什么用。

有一些技巧可以帮助避免此类锁定,但如果您不是 Vaadin 的开发人员之一,您就无法使用它们。

相关内容