逻辑说,即使添加到一个非常大的(~800 GB)表,添加NULL
列也应该非常快。
显然,如果ALTER TABLE
新列有NOT NULL
,则需要很长时间,但NULL
列的情况如何呢?它与改变一张小桌子相比如何?
我在使用MySql 5.5。
谢谢!
答案 0 :(得分:3)
MySQL将ALTER TABLE
实现为表重新创建。
在大多数情况下,
ALTER TABLE
制作原始表格的临时副本(...) 将更改合并到副本中,删除原始表格, 并重命名新的。
手册继续并解释了大多数情况"手段。基本上:添加,删除和重新定义列。
只有表格大小很重要,列类型在执行时间方面几乎没有影响。