我遇到了 MS SQL Server 2008 的问题,即:
当我使用硬编码字符串作为参数执行查询时,我的查询运行得很快,但是当我使用字符串参数时,查询需要更长的时间!
常量字符串查询需要 1 秒,而另一个需要 11 秒。
下面是代码:
常量字符串(1 秒):
SELECT *
FROM VIEWCONTENTS
WHERE COUNTRY = 'ZA'
AND CONTENTTYPE = 'A'
AND TASK = 'R23562';
参数化(11 秒):
DECLARE @country AS CHAR(2);
SET @country = 'ZA';
SELECT *
FROM VIEWCONTENTS
WHERE COUNTRY = @country
AND CONTENTTYPE = 'A'
AND TASK = 'R23562'