最近我们发现了一个长时间运行的过程,我的一位同事指出,由于这篇文章中指出的原因,在 where 子句中删除 ISNULL 会加快速度。在 SQL Server 中使用 ISNULL() 时是否存在任何性能问题?. 我做了一些谷歌搜索,但无法确定丢失数据是否有任何危险。我知道如果你说这样的话
WHERE ID NOT IN (SELECT MemberID FROM Person WHERE MemberId IS NOT Null)
并且 MemberId 是可空的,如果您不包含“IS NOT NULL”,您将不会得到任何匹配,但我认为这是一个不同的问题?也许不吧?
这是我的同事提议的改变。
where ISNULL(ct.DisabilityBenefitsConnectAuthorized,0) = 1
会成为
where ct.DisabilityBenefitsConnectAuthorized = 1
它似乎没有影响结果,但我不能 100% 确定它不会,我们只是不知道。