我SELECT *
在mysql数据库的大型InnoDB表上运行了一个不明智的建议。
因此,大约10分钟后,我意识到了这个错误,找到了connectionid
带有show processlist的对象,并尝试使用kill命令杀死连接和查询。然后,我在同一个表上运行了另一个查询。
show processlist
显示原始选择已接收到Killed标志,但停留在“发送数据”状态。后续查询正在等待锁定。这已经进行了几个小时。
现在,我明白了为什么,如果我的原始查询已经以任何方式修改了表,那么我要描述的将等待回滚。
但这是一个select
; 回滚选择意味着什么?
因此,我想知道是否有人可以告诉我我在等待什么,以及是否有任何简便的方法可以取消select
查询。
您不会像其他人所说的那样等待交易回滚。我也遇到了这个问题:称它为bug是因为尽管MySQL不同意,但这确实是一个问题。
现在,我只能给出有根据的猜测,因为您会遇到这种“僵局”,但我什么也不能给您,但是我可以给您一个解决方案:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句