SQL Server 2005 charindex性能

时间:2008-11-26 13:20:30

标签: sql sql-server sql-server-2005

我正在尝试运行一个更新查询,该查询根据在另一个表中找到的行更新一个表,其中某个特定值存在于其中一个远程表的列值中。我正在使用的查询是:

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;

在PageViews表中包含50,000行的测试数据库中,根据SQL分析器,此单个查询导致的读取次数超过100万次,耗时1分14秒。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

以下列是否有索引? pv.SessionID,pv.created

你看过生成的执行计划了吗?