假设所有环境(引擎、字符集.etc)都是相同的,那么在varchar(64)或varchar(255)列中存储字符串"hello“有区别吗?(例如,引擎自动为最大长度或填充字符串分配空间)
为了给出一些上下文,我有一个例子,我将在99%的时间内存储长度小于64的文本,而在剩余1%的时间内存储长度在64到255之间的文本。
现在,如果varchar(255)有很大的开销,那么我将为长字符串的情况创建一个单独的表,但是如果没有任何开销,那么我将只将该列声明为varchar(255)。
我能找到的最接近的答案是下面这个问题:How much real storage is used with a varchar(100) declaration in mysql?
然而,它没有准确地回答我的问题。
发布于 2021-11-17 06:53:40
不是的。有些人只对所有的短字符串列使用VARCHAR(255)。对于CHAR列,所有字符串都将填充空格,直到定义的长度为止。
https://stackoverflow.com/questions/70000001
复制相似问题