我目前正在运行一个DELETE查询,它花费的时间比预期的要长得多(已经10小时了!)。我想通过phpmyadmin进程杀死它,但是我担心可能会发生什么。自动回滚也会占用很多时间吗?当前查询状态显示“正在更新”。
发布于 2012-10-25 06:39:22
这取决于你的查询现在所处的阶段。但通常回滚所需的时间大致相同,有时甚至比原始操作的时间还要长。
根据this document的第二点,这并不是真正可取的做法。
此外,请务必验证您的MySQL版本,因为根据this article,某些版本中的删除/更新查询回滚存在非常严重的错误
重启/终止MySQL进程不会有任何帮助,因为回滚将在重启后恢复。
发布于 2017-01-31 03:02:30
经验法则是:
只是让它自己回滚,甚至不要考虑重新启动数据库,因为它将在重新启动后恢复,但更糟糕的是,您的数据库将无法访问。
是的,大型数据(即数百万行)的回滚将比其提交操作慢得多,如果在同一数据库中发生并行InnoDB提交,则会更慢。
https://stackoverflow.com/questions/13058861
复制相似问题