在 MySQL 5.5 的“查询结束”中运行更长时间的微小插入查询,过去在 5.0 中啥都没有

Posted

技术标签:

【中文标题】在 MySQL 5.5 的“查询结束”中运行更长时间的微小插入查询,过去在 5.0 中啥都没有【英文标题】:Tiny insert queries running much longer in "query end" in MySQL 5.5, used to be nothing in 5.0在 MySQL 5.5 的“查询结束”中运行更长时间的微小插入查询,过去在 5.0 中什么都没有 【发布时间】:2012-06-27 19:04:46 【问题描述】:

我真的很困惑。我们有一个流程——诚然效率低下,我正在修复它——运行大约 25 万次微小的更新查询。这些在 mysql 5.0 上的主服务器上在半小时内完成;新升级的 MySQL 5.5 slave 已经在它们上面工作了六个小时。关键似乎是“查询结束”——每个人在这种状态下在从属服务器上花费超过十分之一秒,这确实拖累了事情,因为每秒 10 个查询意味着,嗯......六个小时。 master 在整个查询中花费的时间不到 0.06 秒,而这一次在“查询结束”中花费了 0.13 秒(查询的 89%)。

5.5 是否更改了我的 5.0 配置干扰的内容?我束手无策,因为这真的开始减慢我们拥有的一些像这样低效的报告。我会更改报告,但我也想找出问题所在。

在你问之前:5.5 从站仍然在 MyISAM 中做所有事情,所以这没有改变。其实配置和其他的一样,还是5.0的slave,那个slave也是半个小时就搞定了。

【问题讨论】:

***.com/questions/3722510/… 感谢您的链接,但不幸的是,这些回复似乎与我无关。 这是 5.0 与 5.5 的问题,还是真的是主从问题?对于这些,插入/更新具有不同的运行时特性。 事实上它曾经非常快,是的,这是 5.0 与 5.5 的问题。 我在 5.6 上遇到了同样的问题。我尝试更改刷新/提交设置中的几乎所有内容以及在 ***/internet 上找到的所有不同修复。我仍然面临这个问题。每 5 分钟,插入物将在简单插入物上锁定约 160 秒。 【参考方案1】:

禁用从服务器上的二进制日志修复了它。这让我担心我们何时将 master 升级到 5.5,但现在情况要好得多。

【讨论】:

以上是关于在 MySQL 5.5 的“查询结束”中运行更长时间的微小插入查询,过去在 5.0 中啥都没有的主要内容,如果未能解决你的问题,请参考以下文章

Spring 和 Hibernate 的长时间运行事务?

sql 在MySQL中查找长时间运行的查询

MySQL初识

MySQL查找所有六个月或更长时间没有约会的人

Mysql 5.5 /phpmyadmin 简单查询之谜

自动杀死长时间运行的查询(MySql),Apache Tomcat DataSource