【发布时间】:2018-08-06 02:34:49
【问题描述】:
我看到一些开发人员将字段设置为VARCHAR(50) / VARCHAR(100),而其他开发人员将字段设置为VARCHAR(64) / VARCHAR(128) / VARCHAR(256)。
除了个人喜好之外,在创建VARCHAR 字段与整数时,是否有任何理由使用 2^n 数字来指定字段长度,假设两个字段长度都可以支持传入的数据?
【问题讨论】:
-
许多计算机类型确实会想到,例如128 或 256 作为“整数”
-
这是程序员的迷信,认为使用 2 的幂可能在内存或磁盘中对齐得更好。这不是真的,但大多数人还是这样做了。
-
它更符合计算机架构的字长,因此它可能会稍微提高效率/以相同的计算成本存储更多数据。
-
理想情况下,您既不选择
10n也不选择2^n,而是研究数据类型并选择适合所存储数据类型的大小合适 - 例如如果有适用于数据类型的法律或标准,请选择与标准相符的大小。
标签: sql sql-server varchar