MySQL varchar大小存储 - 一个字节,两个字节的转换

时间:2012-07-19 16:27:46

标签: mysql varchar

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

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

1 个答案:

答案 0 :(得分:1)

文档的实际引用是:

  

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

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