3

我需要在一个很大的表(~90M 行)中扩展一列。(MySQL 5.1,InnoDB)

这是一个 varchar(15) 列,需要扩展到 varchar(20)。此列是主键的一部分。

我在 mysql 文档中做了一些阅读,看起来将为该进程创建一个临时表,最后将完成交换。所以它不会锁定表。

但是索引重建会是什么样子?我认为它是否必须修改?

它会“一边”重建然后交换,所以没有重大影响吗?

一旦进行了更改,我就会担心性能。

干杯!

4

1 回答 1

0

似乎没有人知道答案,所以我联系了 MySQL 社区论坛。这是线程: http: //forums.mysql.com/read.php?22,572693,572865#msg-572865

在快捷方式中:

在将数据复制到临时表的过程中会重新创建索引。它将在表交换期间到位。

于 2012-11-05T11:17:23.103 回答