我的MySQL数据库中有一个InnoDB表。在其中,我有一个字段(不是主键)是VARCHAR(20)。而且它被编入了索引。
但最近,我不得不将大小增加到75。也就是说,VARCHAR(75)
那么,我需要做些什么来重新索引这个字段吗?或者索引是自动更新的,还是不会受到影响?
目前,这个表只包含大约2000行。
另外,如果它是我想要增加大小的主键字段呢?也就是说,假设我的主键是VARCHAR,并且希望增加字段长度。
发布于 2019-01-01 22:16:37
增加varchar的大小不会影响indicex。您可以继续使用,而无需重新创建索引。
发布于 2019-01-01 22:42:30
更改列定义时,会更新索引。
在对表进行重大更改后,ANALYZE TABLE mytable;始终是一个好主意;它会更新索引统计信息,以便查询规划器能够尽可能好地完成工作。
主要更改包括对索引列的许多插入、删除或更新,以及对表的ALTERing。
https://stackoverflow.com/questions/53996162
复制相似问题