我从一个脚本中向我的本地数据库发送了成千上万次类似于这样的查询:
update some_table set some_column = some_value
我忘记添加where条件,所以同一列的所有行都被设置为相同的值,并且这样做了成千上万次,该列已经创建索引,因此相应的索引可能也被更新了很多次。
我注意到有些问题,因为它花费的时间太长,所以我终止了脚本。即使我重新启动计算机,但某些内容仍然存在于表中,因为简单查询需要很长时间才能运行,当我尝试删除相关索引时,会出现以下消息:
Lock wait timeout exceeded; try restarting transaction
这是一个InnoDB表,所以事务卡住可能是隐式的。我该如何修复这个表并将卡住的事务从中移除?
SHOW FULL PROCESSLIST
的输出是什么? - Wolph