SQL 2008:这很慢(需要1 1/2分钟):
declare @p1 varchar(50) set @p1 = '976j%' select * from invsearch_query where comparepnfwd like @p1
这花费不到一秒钟的时间:
select * from invsearch_query where comparepnfwd like '976j%'
为什么???
我可以想象您必须有一个非覆盖索引,其前导列comparepnfwd 由文字查询使用,但不是由具有变量的查询使用。
comparepnfwd
您可以使用OPTION (RECOMPILE)SQL Server重新考虑实际变量值来重新编译计划。
OPTION (RECOMPILE)