当改变列的大小时,MySQL alter table会改变或修改

时间:2013-04-23 23:17:34

标签: mysql

我有一张巨大的桌子(10GB +)。 一些开发人员错误地添加了bigint(250)列。 我想把它带回bigint(8)

当我使用MODIFY语句时,它比使用CHANGE

要快得多
alter table persons modify PersonId bigint(8) auto_increment;

alter table persons change PersonId PersonId bigint(8) auto_increment;

我对此的看法是改变正在重建表并且不进行修改。 但在这种情况下,究竟做什么修改(在引擎盖下)呢?

1 个答案:

答案 0 :(得分:1)

MODIFY不会尝试重命名该列。即使目标名称与当前名称相同,CHANGE也会尝试重命名,这很可能是需要更多时间的原因。

相关问题