我有一个包含大量Null的4字节整数列。我想知道如何在存储中表示空值。它们是否也使用了4个字节,或者它们是以不浪费空间的方式处理的?
答案 0 :(得分:1)
这取决于数据类型。例如,在数值类型(int
,float
等)的情况下,空值表示为类型的最小值。因此,不会浪费额外的空间,但是不能使用该类型的最小可能值。
对于其他类型,例如布尔列,会使用一些额外的空格,因为单个位不足以表示true
,false
和null
。 (它不是一个量子比特;))
您可以在此处找到更多信息:https://www.monetdb.org/Documentation/Manuals/SQLreference/BuiltinTypes
以下链接提供了更多以开发人员为目标的信息(包含更多详细信息):https://www.monetdb.org/wiki/MonetDB_type_system