ISNULL 如何影响查询性能
Posted
技术标签:
【中文标题】ISNULL 如何影响查询性能【英文标题】:How ISNULL can affect query performance 【发布时间】:2018-01-16 09:50:53 【问题描述】:我有一个查询(它是更大的复杂查询的一部分)SELECT ISNULL(dbo.Event.Sap_Equipment_ID,0)
FROM dbo.Event
当我尝试执行它时,没有答案,它一直在运行。
但是当我删除 ISNULL()
时,它完成得非常快。
Sap_Equipment_ID
列是:
类型:大整数
长度:19
非空:假
可能的原因是什么?
【问题讨论】:
Id 列上有索引吗?这有助于解释为什么不使用该功能会快得多 在更大的查询中 this 的上下文是什么?执行计划是什么样的? 这是过滤某些IDS的条件。我不确定,我可以分享整个查询 - 抱歉。 【参考方案1】:很可能(特别是因为该字段以_ID
结尾),该字段已编入索引。
对索引字段使用任何操作会使索引无法用于查询。这可能就是所需时间增加的原因。
【讨论】:
以上是关于ISNULL 如何影响查询性能的主要内容,如果未能解决你的问题,请参考以下文章