【发布时间】:2017-02-01 10:43:05
【问题描述】:
我有几千条记录,我需要分批更新它们,每批 350 条记录。
我想知道以下两个更新语句是否有任何区别,如果其中一个会更快,使用更少的数据库资源等。
声明 1:
UPDATE TOP (350) database1
SET value1 = '', value2 ='', value3 = ''
WHERE value1 = '123'
声明 2:
UPDATE database1
SET value1 = '', value2 ='', value3 = ''
WHERE ID in
(SELECT TOP 350 ID FROM database1
WHERE value1 = '123')
【问题讨论】:
-
第二个语句比较慢,我最近测试了这个:-)
-
是的,前 150 条记录是随机选择的。两个查询中更新的记录可能不同
-
几千条记录?真的需要分批做吗?
标签: sql sql-server sql-update