0

根据 MySQL 文档,VARCHAR将使用 1 个字节来表示字符串的长度,前提是该列中的所有值的长度为 0-255,否则将使用 2 个字节。

如果您在一列中有大量数据,并且全部为 255 或更少,并且在条目之后,输入长度为 256 的单个条目,会发生什么情况。是否会启动重新格式化操作以更新此列中的其他字符串以使用 2 个字节而不是 1 个字节?除了插入无效/忽略的数据之外,有没有办法抢占这个操作?类似的东西myField VARCHAR(1000) not null always-use-two-bytes,(显然它会比那更干净......但你明白了)。

4

1 回答 1

2

文档中的实际报价是:

如果值需要不超过 255 个字节,则一列使用一个长度字节,如果值可能需要超过 255 个字节,则使用两个长度字节。

这对我来说意味着如果你有 varchar(256+) 那么它将从一开始就使用 2 个字节。

于 2012-07-19T16:42:54.530 回答