如果我杀死一个巨大的MySQL InnoDb DELETE查询会怎样?

Noa*_*oam 5 mysql sql query-optimization

我目前正在运行的DELETE查询所花的时间比预期的要长得多(已经10小时了!)。我想通过phpmyadmin进程杀死它,但是担心会发生什么。他自动回滚会花费很多时间吗?当前查询状态显示为“正在更新”。

fav*_*tti 2

这取决于您的查询现在所处的阶段。但通常回滚所花费的时间大约与原始操作相同,有时甚至更长。

根据本文档的第 2 点,这并不可取。

另外,请务必验证您的 MySQL 版本,因为它有一个非常讨厌的错误,根据本文,在某些版本中删除/更新查询回滚

重新启动/终止 MySQL 进程不会有帮助,因为回滚将在重新启动时恢复。