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

ohfgkhjo  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(504)

我有一个 InnoDB mysql数据库中的表。在其中,我有一个字段(不是主键)是 VARCHAR(20) . 它被编入索引。
但最近,我不得不把尺寸增加到 75 . 也就是说, VARCHAR(75) 那么,我需要做些什么来重新索引这个字段吗?或者索引会自动更新还是不会受到影响?
目前,这个表只包含大约2000行。
另外,如果它是我想增加大小的主键字段呢?也就是说,假设我的主键是 VARCHAR 希望增加字段长度。

lo8azlld

lo8azlld1#

更改列定义时,索引将更新。 ANALYZE TABLE mytable; 在对一张table做了重大改动之后,这总是一个好主意;它会更新索引统计信息,以便查询规划器能够尽可能地完成最好的工作。
主要的更改包括对索引列的许多插入、删除或更新,以及更改表。

z31licg0

z31licg02#

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

相关问题