SQL Server中为NULL时的位数据类型大小[重复]

问题描述 投票:2回答:1

这个问题在这里已有答案:

SQL Server中的位数据类型是最小的数据类型,它只是一个值为0或1的位。

如果字段已更新为0值,则在硬盘中的该字段中将存储0,如果字段更新为1则将存储在硬盘中。

当它为NULL时它会存储什么?

sql-server bit sqldatatypes
1个回答
6
投票

列的空状态与数据分开存储 - 每个数据行都有一个名为NULL BITMAP的部分,该部分对于表中的每一列都有一位(无论它是否可为空)保持null / not null状态专栏。所以一个位列实际上需要两位 - 一个用于空状态,一个用于数据。

仅供参考,SQL服务器中的数据空间是可变的 - 它取决于您拥有多少位列。它可以在一个字节中存储多达8位的列,因此如果您只有一个位列,则仍然使用该行的整个字节(忽略其他7位)。

© www.soinside.com 2019 - 2024. All rights reserved.