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