如何优化此SQL查询以更快地运行

时间:2015-11-25 05:18:01

标签: sql sql-server query-optimization where

我有这个查询需要花费很多时间。请帮我优化这个查询。

select * 
from t_Packages 
where PackageTypeID = 4  
  and dateadd(day, 60 + ctstracker.dbo.fn_getNonBankHolidaysCount(receiveddatetime, dateadd(day, 60, receiveddatetime)), receiveddatetime) >= GETDATE()

1 个答案:

答案 0 :(得分:0)

正如您所确定的那样,在您执行where子句时调用函数会导致性能下降。本质上,db没有选项,只能为表中的每一行计算该函数,以查看该谓词的计算结果是否为true。一般概念被称为" SARGability" (" SARG"缩短"搜索参数")。