数据库 – 为什么SQL字段长度始终为(2 ^ n)-1,除非小于127?

前端之家收集整理的这篇文章主要介绍了数据库 – 为什么SQL字段长度始终为(2 ^ n)-1,除非小于127?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
许多数据库模式似乎遵循以下标准:

(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”尺寸更大,内存和磁盘速度足以忽略对齐,
对于那些非常大的块来说(无论“非常大”意味着今天….)

如今这样做是传统的.

另一个原因是我的名言:
只有10种类型的人:可以二元化的人和其他人.

并且2 ^ n -1是mersenne primes的候选者.所以它的怪异……

猜你在找的MsSQL相关文章