更改VARCHAR字段的长度后重新生成索引

时间:2019-01-01 14:13:07

标签: mysql indexing database-indexes

我的MySQL数据库中有一个InnoDB表。在其中,我有一个VARCHAR(20)字段(不是主键)。并被索引。

但是最近,我不得不将大小增加到75。也就是说,VARCHAR(75)

那么,我需要做些什么来重新索引该字段吗?还是索引会自动更新或不受影响?

此表目前仅包含约2000行。

此外,如果要增加大小的是PRIMARY KEY字段怎么办?也就是说,假设我的主键是VARCHAR,并且希望增加字段长度。

2 个答案:

答案 0 :(得分:1)

更改列定义时会更新索引。

在对表进行重大更改之后,

ANALYZE TABLE mytable;总是一个好主意;它会更新索引统计信息,以便查询计划者可以尽力而为。

主要更改包括对索引列的许多插入,删除或更新,以及更改表。

答案 1 :(得分:0)

增加varchar的大小不会影响indicex。您可以继续使用而无需重新创建索引。