【发布时间】:2011-07-13 12:40:12
【问题描述】:
我有 100 万条记录的巨大表,我想将一些文本列修改为 varchar 列。这是修改列的最佳方法。
- 使用所有修改列更改表查询
- 使用单个修改列更改表查询。
【问题讨论】:
标签: mysql alter-table
我有 100 万条记录的巨大表,我想将一些文本列修改为 varchar 列。这是修改列的最佳方法。
【问题讨论】:
标签: mysql alter-table
肯定是变体 1,因为正如 MySQL documentation 中所述,
在大多数情况下,ALTER TABLE 会制作原始表的临时副本。 MySQL 等待其他正在修改表的操作,然后继续。它将更改合并到副本中,删除原始表并重命名新表。
所以,一个副本/等待操作/删除旧表/重命名新的一个操作比多个操作要好。
【讨论】: