【发布时间】:2011-06-27 03:09:51
【问题描述】:
如果两个值可以是以下以外的空值,是否有更好的方法来比较它们是否相等?
a = b or (a is null and b is null)
【问题讨论】:
-
Get null == null in SQL 的可能副本。请注意,一般来说,虽然有更简单的方法来编写它,但它可能是最有效的方法,因为没有函数引用。
-
我很好奇这是不是真的,因为
is null没有括号,并不意味着不调用函数;毕竟,还是要进行比较。我敢打赌,数据库已经针对coalesce进行了优化,因为它被频繁使用。我并不是说你错了,只是用较新的数据库引擎对其进行基准测试会很有趣。 -
刚刚在一个11g的实例上测试过。虽然没有那么戏剧化,但合并使用了大约 10% 的 CPU。
-
ty,DCookie,这是很好的一般信息。如果有人可以做同样的分析:多少元组——字段、记录、表?桌子大小有什么区别?速度有什么不同?只是好奇。