我们的一位程序员倾向于在 MS SQL 中使用 isnull 来与 NULL 进行比较。Where ColumnName Is Null
那是他写的而不是写作Where IsNull(ColumnName,0)=0
我认为优化器无论如何都会将后者转换为前者,但如果它没有 - 有没有办法证明后者效率较低,因为它 1.Compares with null, 2.Converts to integer, 3.Compares 2 个整数,而不是仅与 null 比较。
这两种方式对我来说都非常快,可以使用执行计划(而且我认为优化器发挥了它的作用)。有没有办法证明他只与没有 IsNull 的 Null 进行比较更有效(除非不是)。