DROP COLUMN 期间已完成超过 100% 的阶段

DROP COLUMN 期间已完成超过 100% 的阶段

我正在对主键列运行 DROP COLUMN(我知道这很糟糕,但我不得不这么做)。有一个进度指示器:

Stage: 1 of 2 'copy to tmp table'    107% of stage done

我在操作过程中没有修改数据。为什么它会超过 100% 完成?它会停止吗?

答案1

Innodb(以及 xtradb)不会持续计算表中的行数。执行操作时显示的行数SHOW TABLE STATUS纯粹是估算值。

带有进度指示器的工具很可能使用此信息来确定 100% 是多少。由于它是一个估算值,因此完成百分比也是如此。

stackoverflow 上的这篇文章进一步详细说明。

相关内容