一尘不染

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

sql

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


阅读 113

收藏
2021-05-23

共1个答案

一尘不染

这取决于您的查询当前所处的阶段。但是回滚通常需要大约相同的时间,有时甚至比原始操作还要多。

根据本文档的第2点,这不是真正可取的。

另外,请确保验证您的MySQL版本,因为它存在一个非常讨厌的错误,在某些版本中,错误会导致删除/更新查询回滚(如本文所述)

重新启动/终止MySQL进程将无济于事,因为回滚将在重新启动后恢复。

2021-05-23