更改具有多个修改列的表VS使用单列的Alter表查询

时间:2011-07-13 12:40:13

标签: mysql alter-table

我有100万条记录的巨大表格,我想将一些文本列修改为varchar列。这是修改列的最佳方法。

  1. 使用所有修改列更改表查询
  2. 使用单个修改列更改表查询。

1 个答案:

答案 0 :(得分:5)

绝对是变体1,因为,如MySQL documentation中所述,

在大多数情况下,ALTER TABLE会生成原始表的临时副本。 MySQL等待修改表的其他操作,然后继续。它将更改合并到副本中,删除原始表,并重命名新表。

因此,最好是单个副本/等待操作/删除旧表/重命名新操作而不是多个操作。

相关问题