我不确定在DB2中选择varchar字段长度为255还是256。对于性能来说,应该选择什么样的大小呢?从我在谷歌上的搜索结果来看,似乎255最好,因为它等于1个字节。这是正确的吗?varchar(255)需要1个字节,还是varchar(256)需要1个字节?
我不确定在DB2中选择varchar字段长度为255还是256。对于性能来说,应该选择什么样的大小呢?从我在谷歌上的搜索结果来看,似乎255最好,因为它等于1个字节。这是正确的吗?varchar(255)需要1个字节,还是varchar(256)需要1个字节?
个人而言,我认为针对可变长度列读取一个字节或两个字节不会产生很大的影响。事实上,这个长度将被用于分析需要在一行中读取多少个字符,这更具有惩罚性(两个操作,一个是数量,一个是数据)。
你可能认为,在一个有一百万条记录的表中增加一个额外的字节会占用很多不必要的磁盘空间,但是当压缩功能激活时,这并不是与存储(IO)或处理(CPU)相关的问题。
顺便说一下: 255 = 11111111(一个字节) 256 = 100000000(两个字节)
唯一的建议是,对于超过30个字符的列使用varchar,否则最好使用定长列CHAR,因为相比较需要读取的数据量,读取长度加数据的开销更大。(http://www.ibm.com/developerworks/data/library/techarticle/dm-0404mcarthur/)