如何优化这个SQL函数?

时间:2016-03-29 07:15:09

标签: sql sql-server sql-server-2008 sql-server-2012 sql-server-2014

(@PaymentId int) 
returns int
as
begin
    Declare @viewedCount int

    Select @viewedCount = Count(OtSrno) 
    From OtTendersViewDetail 
    Where OTPaymentId = @PaymentId 
      And OTPaymentId is not null

    return (@viewedCount)
end

1 个答案:

答案 0 :(得分:0)

优化通常是您为复杂操作所做的事情 - 这一点来自纯SQL,它就像它一样好。

你可以做的是"重新编译"或"优化未知"避免参数嗅探 - 这意味着重用查询计划。

你还能做什么(哪个更好)是检查OTPaymentId是否为null,以及if / else是否在2个不同的select语句之间。同样,这是关于查询计划重用/陷入错误的查询计划。