使用varchar
大小为2的幂对另一个数的字段是否更有效?我想不,因为对于SQL Server,默认值是50.
但是,我听说(但从未确认)作为2的幂的大小字段更有效,因为它们等于偶数字节,计算机以位和字节进行处理.
那么,一个领域被宣布为varchar(32)
或varchar(64)
有任何实际利益varchar(50)
吗?
没有.
在一些其他用途中,使用具有两个尺寸的功率的结构具有一些优点,主要是因为您可以在另一个两倍大小的结构内部装配一个好的(2的幂)数量.但这不适用于DB字段大小.
与VARCHAR相关的唯一二次幂大小是关于varchar的确切类型(或某些SQL方言中的TEXT/BLOB):如果它小于256,则它可以使用单个字节来指示长度.如果它小于65536(64KB),则两个字节就足够了,三个字节最多可达16777216(16MB),四个字节最多可达4294967296(4GB).
此外,可以认为它VARCHAR(50)
同样昂贵VARCHAR(255)
,因为两者都需要n + 1个字节的存储空间.
当然那是在考虑Unicode之前...
我一直认为人们选择两个权力来代替varchar领域,因为我们是极客,这就是我们所做的.至少那是我一直以来所做的.