我有一个 InnoDB
mysql数据库中的表。在其中,我有一个字段(不是主键)是 VARCHAR(20)
. 它被编入索引。
但最近,我不得不把尺寸增加到 75
. 也就是说, VARCHAR(75)
那么,我需要做些什么来重新索引这个字段吗?或者索引会自动更新还是不会受到影响?
目前,这个表只包含大约2000行。
另外,如果它是我想增加大小的主键字段呢?也就是说,假设我的主键是 VARCHAR
希望增加字段长度。
我有一个 InnoDB
mysql数据库中的表。在其中,我有一个字段(不是主键)是 VARCHAR(20)
. 它被编入索引。
但最近,我不得不把尺寸增加到 75
. 也就是说, VARCHAR(75)
那么,我需要做些什么来重新索引这个字段吗?或者索引会自动更新还是不会受到影响?
目前,这个表只包含大约2000行。
另外,如果它是我想增加大小的主键字段呢?也就是说,假设我的主键是 VARCHAR
希望增加字段长度。
2条答案
按热度按时间lo8azlld1#
更改列定义时,索引将更新。
ANALYZE TABLE mytable;
在对一张table做了重大改动之后,这总是一个好主意;它会更新索引统计信息,以便查询规划器能够尽可能地完成最好的工作。主要的更改包括对索引列的许多插入、删除或更新,以及更改表。
z31licg02#
增大varchar的大小不会影响indicex。您可以继续使用,而无需重新创建索引。