更改varchar长度时的数据库容量(mysql)



最近我的排序规则从latin1更改为utf8
由于utf8的大小较长,因此存在长度错误
在更改排序规则之前,字段类型是varchar(50),现在我将扩展到varchar(255)
在这种情况下,数据库的容量是否也会扩展,这可能是数据库容量限制的错误。

此外,如果我插入包含小于varchar(255)的字段的记录,它会占用varchar(255)的全部容量吗?

有人帮忙吗?

根据MYSQL网站,否https://dev.mysql.com/doc/refman/8.0/en/char.html

使用varchar,实际存储是动态分配的,并且仅由存储到其中的字符数决定

不过,即使在这样的列中放入1个字符,也可以采用VARCHAR(255(和VARCHAR(500(。附加在行末尾的值将是一个整数,用于存储存储数据的实际长度。

因此,在VARCHAR(255(的情况下,它将是额外的1个字节,VARCHAR(500(将是2个字节。

这只是一个小小的区别。

我相信,虽然我没有数据支持,但varchar长度越短,索引查找性能就越好

最新更新