Sql server SQL Server是零值0.00还是空值?

Sql server SQL Server是零值0.00还是空值?,sql-server,performance,tsql,Sql Server,Performance,Tsql,只是一个一般性的问题。数据库保留值还是空值更好 我有一个每天计算的佣金字段,它基于总金额值条件。下一个日期委员会将根据上一个日期进行计算,并计算总价值。佣金也可以是0.00,但不能是负数。保留零值或将其填充为null并在查询中使用'ISNULLcomm,0'而不仅仅是'comm'更好吗 哪一种性能和DB容量更好 UPD:性能很好。我想知道当您每天有数百条用户记录时,是否存在存储容量差异?如果佣金值为0,则应将其保留为0,而不是NULL。为什么要调用ISNULL函数将其再次转换回0?这是错误的,它

只是一个一般性的问题。数据库保留值还是空值更好

我有一个每天计算的佣金字段,它基于总金额值条件。下一个日期委员会将根据上一个日期进行计算,并计算总价值。佣金也可以是0.00,但不能是负数。保留零值或将其填充为null并在查询中使用'ISNULLcomm,0'而不仅仅是'comm'更好吗

哪一种性能和DB容量更好


UPD:性能很好。我想知道当您每天有数百条用户记录时,是否存在存储容量差异?如果佣金值为0,则应将其保留为0,而不是NULL。为什么要调用ISNULL函数将其再次转换回0?这是错误的,它使未来的程序员谁将要处理您的代码,坐下来思考2天,为什么它是这样设计的

保持简单和干净。使用0

NULL值表示该值未知。空值 与空值或零值不同


如果佣金值为0,则应将其保留为0,而不是NULL。为什么要调用ISNULL函数将其再次转换回0?这是错误的,它使未来的程序员谁将要处理您的代码,坐下来思考2天,为什么它是这样设计的

保持简单和干净。使用0

NULL值表示该值未知。空值 与空值或零值不同


NULL实际上意味着NULL,0意味着已知的值为零。我怀疑在性能上是否有任何差异,但这只是一种通用的编程逻辑,在适当的地方使用正确的变量

NULL实际上表示NULL,0表示已知的零值。我怀疑在性能上是否有任何差异,但在适当的地方使用正确的变量只是一种通用的编程逻辑

可空列通常使用额外的位来标记空值。记录某物为空的事实仍然是必须以某种形式编码的信息。显然,这涉及到存储和处理。由于行在页面中的布局方式,存储组件可能并不重要。无论如何,这并不是你最重要的考虑因素

每次引用该列时,都必须编写ISNULL检查。这可能会使索引的使用复杂化。你会厌倦打字的


如果你的意思是零,那么就这样存储它;一切都简单得多。保存击键以在DDL中显式声明NULL和NOTNULL列定义。

可空列通常使用额外的位来标记NULL。记录某物为空的事实仍然是必须以某种形式编码的信息。显然,这涉及到存储和处理。由于行在页面中的布局方式,存储组件可能并不重要。无论如何,这并不是你最重要的考虑因素

每次引用该列时,都必须编写ISNULL检查。这可能会使索引的使用复杂化。你会厌倦打字的


如果你的意思是零,那么就这样存储它;一切都简单得多。保存用于在DDL中显式声明NULL和NOTNULL列定义的击键。

这里您可以了解sqlserver如何存储NULL


在这里,您可以了解sqlserver如何存储空值


NULL通常表示没有有意义的值。0.00听起来在您的场景中是一个很有意义的值。关于性能容量,如果少于100万行,您的表很小,而大型表可能从1亿行开始。这里要现实一点——几年前,我的智能手机能够处理每天几百行的数据。NULL通常意味着没有任何有意义的值。0.00听起来在您的场景中是一个很有意义的值。关于性能容量,如果少于100万行,您的表很小,而大型表可能从1亿行开始。在这里现实一点——几年前,我的智能手机能够处理每天几百行的数据。性能上没有差别吗?当在每个查询中使用ISNULLcomm时,0?我相信您是调用ISNULL还是执行x>0?该值必须访问一次。isnull函数是一个内联函数。它应该很快。一个小测试用例可能会证明我错了,尽管性能很好。我想知道当您每天有数百条用户记录时,是否存在存储容量差异?当存储值0.00小于NULL本身时,它需要一些字节。这取决于列的数据类型。整数通常是4个字节。NULL可以是defi
ned使用了一个宏,可以优化为只占用1个字节。但从常识的角度来说,我会使用0,因为它表示佣金的实际值。如果你想深入探讨这个话题。创建两个数据库,每个数据库有一个表。其中包含空值或0。在每个表中填入1亿个条目或其他内容,并比较大小。性能是否没有差异?当在每个查询中使用ISNULLcomm时,0?我相信您是调用ISNULL还是执行x>0?该值必须访问一次。isnull函数是一个内联函数。它应该很快。一个小测试用例可能会证明我错了,尽管性能很好。我想知道当您每天有数百条用户记录时,是否存在存储容量差异?当存储值0.00小于NULL本身时,它需要一些字节。这取决于列的数据类型。整数通常是4个字节。NULL可以使用宏定义,宏可以优化为只占用1个字节。但从常识角度讲,我会使用0来定义,因为它表示佣金的实际值。如果你想深入探讨这个话题。创建两个数据库,每个数据库有一个表。其中包含空值或0。在每个表中填入1亿个条目,然后比较大小