【发布时间】:2015-03-12 16:02:15
【问题描述】:
创建了以下脚本来加载用户帐户。在管理工作室的初始测试中使用参数字符串作为用户名。奇怪的是,在我从参数字符串更改为字符串文字后,查询速度减慢了 20 秒。这不是通常用于参数嗅探的另一种方式吗?我已经尝试过 DBCC FREEPROCCACHE 并通过设置一些本地变量来创建存储过程,但这并没有加快查询速度。有什么建议吗?
DECLARE @accntRep VARCHAR(50)
SET @accntRep = 'someUserName'
SELECT accntRep,transBalance FROM companyView AS cv
OUTER APPLY
(SELECT SUM(CASE WHEN pastdue > 0 THEN balance ELSE 0 END) AS pastDueBalance,
SUM(balance) AS transBalance FROM pastDueView WHERE compID = cv.compID
) AS balance
WHERE
-- accntRep = @accntRep
accntRep = 'someUserName'
GROUP BY accntRep,transBalance
【问题讨论】:
-
重建索引工作。我觉得有点傻。感谢您指出这一点。
标签: sql-server-2008 tsql parameter-sniffing