0
我试图运行一个更新查询,更新一个表基于它在另一个表中找到的行,其中一个远程表的列值中的任何位置存在特定的值。我使用的查询是:SQL Server 2005 charindex性能
update
c
set
LastStep = @StepNumber,
LastDate = pv.Created
from
@Conversions c
inner join PageViews pv on c.SessionID = pv.SessionID
where
c.GoalName = @GoalName AND
pv.Created > c.LastDate AND
charindex(@MatchValue, pv.PageUrl) > 0;
在有在浏览量表50,000行测试数据库,这种单查询导致刚刚超过100万读取根据SQL事件探查器,并以1分14秒。任何想法为什么?
生成的EP显示where子句的聚集索引扫描。 – Chris 2008-11-26 13:55:13