插入和删除查询是否可以摆脱锁定等待超时?

时间:2019-07-18 15:40:13

标签: mysql

在我的项目中,我正在使用隔离级别为READ-COMMITTED的innodb存储引擎。 我的 innodb_lock_wait_timeout 为300秒(5分钟)。对于选择和更新查询,如果他们等待其他事务持有的锁,则5分钟后,我会得到

  

“锁定等待超时。尝试重新启动事务。”

但是对于插入查询(有时是删除查询),即使经过5分钟,我也没有得到锁等待超时。 大约5分钟后,如果我杀死了那些插入查询,我会根据连接终止获得异常,这是预期的,但在

  

“显示进程列表”

该查询被标记为已终止,但该查询似乎保留了一两个小时以上。 是否有引起此或其他原因的任何配置参数。用Google搜索这类问题,但找不到正确的答案。

仅供参考: 我只是插入1行(不是批量插入),等待获得锁。

1 个答案:

答案 0 :(得分:0)

进一步挖掘和调试时,发现这是mysql版本5.7.18的问题。当用5.7.24更新时,等待锁定的查询实际上可能引发“超出了锁定等待超时。尝试重新启动事务”。