如何加快这个相当简单的UPDATE查询?它已经运行了5个多小时!如何加速具有数百万行的简单UPDATE查询?
我基本上通过加入一个新的表来替换表中的SourceID,该表包含旧ID和新ID。所有这些字段都是VARCHAR(72),并且必须保持这种状态。
Pub_ArticleFaculty表有8354474行(830万)。 ArticleAuthorOldNew有99326472行(9930万),只有你看到下面的2个字段。
所有这些字段都有单独的非聚集索引。有没有更好的方式来编写这个查询,使其运行速度更快?
UPDATE PF
SET PF.SourceId = AAON.NewSourceId
FROM AA..Pub_ArticleFaculty PF WITH (NOLOCK)
INNER JOIN AA2..ArticleAuthorOldNew AAON WITH (NOLOCK)
ON AAON.OldFullSourceId = PF.SourceId
一旦它完成,你永远需要再次做到这一点? –
您的数据库处于什么恢复模式(完整,简单,批量检测)?您的交易日志是否足够大? –
该数据库现在处于FULL恢复模式。也许因为它处于测试环境中,可以起飞一个小时左右。我不会再运行这个,我不知道如何判断日志是否大小合适。我甚至不关心日志记录,因为如果需要我们有数据库备份。 – Andy