Sql 以10k的批量遍历临时表数据
我的临时表中有大约600万个条目,我希望在其中一个表中以10k为批次执行更新 例如: 在这里,我在数据中插入640万个ID 然后我应用while循环,如下所示Sql 以10k的批量遍历临时表数据,sql,sql-server-2008,Sql,Sql Server 2008,我的临时表中有大约600万个条目,我希望在其中一个表中以10k为批次执行更新 例如: 在这里,我在数据中插入640万个ID 然后我应用while循环,如下所示 WHILE @Counter < = (SELECT COUNT(1) FROM #Data) begin --perform update in my main table on basis of ID SET @Counter = @Counter + 1 end 这需要花费大量的时间,所以我想批量执行10k的更新,为什
WHILE @Counter < = (SELECT COUNT(1) FROM #Data)
begin
--perform update in my main table on basis of ID
SET @Counter = @Counter + 1
end
这需要花费大量的时间,所以我想批量执行10k的更新,为什么不在一个语句中完成呢?我不确定您的update语句是什么,但下面是一个示例:
update m
set col = d.processed
from maintable m join
#data d
on m.id = d.idt;
请避免将LAC作为一个单元使用。在印度次大陆以外的地方还不太清楚。你能给我们看一下最新情况吗?
update m
set col = d.processed
from maintable m join
#data d
on m.id = d.idt;