许多
数据库模式似乎遵循以下标准:
(2 ^ n)-1对于大字段:@H_301_3@
varchar(511)
varchar(255)
varchar(127)
…然后(2 ^ n)为较小的@H_301_3@
varchar(64)
varchar(32)
varchar(16)
varchar(8)
我理解为什么使用(2 ^ n)-1的数字,我不明白为什么没有必要将趋势继续到小字段.@H_301_3@
例如.@H_301_3@
varchar(63)
varchar(31)
varchar(15)
varchar(7)
这有什么理由还是只是回报已经减少太多了?@H_301_3@
我记得过去的时候,使用2 ^ n长度是更好的磁盘或内存块对齐.
对齐块更快.
今天“Block”尺寸更大,内存和磁盘速度足以忽略对齐,
对于那些非常大的块来说(无论“非常大”意味着今天….)
如今这样做是传统的.@H_301_3@
另一个原因是我的名言:
只有10种类型的人:可以二元化的人和其他人.@H_301_3@
并且2 ^ n -1是mersenne primes的候选者.所以它的怪异……@H_301_3@