对于 db 家伙来说,这是一个很好的简单问题,它不是非常重要,但我很好奇。
是否有比 a 更小(数字)的东西tinyint
。
我存储了 120 个不同的值,几乎所有的值都将是(0-9)
.
Atinyint
是我能找到的最小的,它的值是 upto 255
。(3 位数)
D B:
我正在使用 MSSqlServer 2008 版本 10.00.1600
对于 db 家伙来说,这是一个很好的简单问题,它不是非常重要,但我很好奇。
是否有比 a 更小(数字)的东西tinyint
。
我存储了 120 个不同的值,几乎所有的值都将是(0-9)
.
Atinyint
是我能找到的最小的,它的值是 upto 255
。(3 位数)
我正在使用 MSSqlServer 2008 版本 10.00.1600
数值tinyint
可能尽可能小(这实际上取决于您使用的数据库引擎)。您可以使用char(1)
然后依赖隐式转换来查询值,但这对于解决实际上不需要解决的问题将是不必要的开销。此外,char(1)
仍将消耗 1 个字节,8 位,范围为 0-255。我认为这是一种微优化,不值得花时间/精力。
我知道您可能要求用于学术目的,但就数据库存储而言,tinyint
几乎可以满足所有情况。如果您担心空间消耗,我会说您需要考虑传统 RDBMS 之外的其他选项。
您当然可以手动将多个元素打包到一个字段中;因为几乎每个计算系统都是面向字节(8 位)的,通常最小的可用元素只有一个字节,8 位,例如可以表示 0-255(或 -128 到 127)。