我目前正在运行的DELETE
查询花费的时间比预期的要长(已经 10 小时!)。我想通过 phpmyadmin 进程杀死它,但是我担心会发生什么。他自动回滚是否也需要很多时间?当前查询状态显示“更新中”。
问问题
5881 次
2 回答
2
这取决于您的查询现在所处的阶段。但通常回滚需要大约相同的时间,有时甚至比原始操作还要多。
根据本文档的第 2 点,这并不是真正可取的。
此外,请务必验证您的 MySQL 版本,因为它有一个非常讨厌的错误,根据本文,在某些版本中删除/更新查询回滚
重新启动/终止 MySQL 进程将无济于事,因为回滚将在重新启动时恢复。
于 2012-10-24T22:39:22.270 回答
2
拇指规则是:
让它自己回滚,甚至不要考虑重新启动数据库,因为它会在重新启动后恢复,但更糟糕的是您的数据库将无法同时访问。
是的,大量数据(即数百万行)的回滚将比其提交操作慢得多,如果并行 InnoDB 提交发生在同一数据库中,则速度会更慢。
于 2017-01-30T19:02:29.753 回答