空值是否可以节省存储空间?

Ale*_*x J 13 database sql-server null

可能重复:
数据库中空值使用的空间

什么在存储空间方面更有效?

  • nullable int列满空.
  • int列充满零.

我知道一个可空列可以占用1位额外的信息来存储它的空状态,但是执行空值会保存数据库,为一个空的int分配32位吗?

(null语义和null的含义对于这个问题并不重要)

Mar*_*ers 13

对于像nullable这样的固定宽度字段,无论值是否为null,所需的存储空间始终相同.

对于可变宽度可空字段,值'NULL'占用零字节的存储空间(忽略该值以存储该值是否为空).

  • 我知道,因为这几乎每周都被问到.;-) (7认同)

Ran*_*der 5

如果您使用的是 SQL Server 2008,并且预计列中会有大量 NULL 值,我建议您研究 Sparse Columns。它们针对存储 NULL 值进行了优化。