【发布时间】:2010-10-08 18:19:03
【问题描述】:
如果我有一个包含大量数据的表......如果我执行增量删除而不是“一次性删除”......有什么好处?
一次性删除
DELETE table_1
WHERE BID = @BID
AND CN = @CN
AND PD = @PD;
增量删除
While (1=1)
Begin
DELETE TOP (100000) FROM table_1
WHERE BID = @BID
AND CN = @CN
AND PD = @PD;
If @@rowcount = 0 -- No row affected.
BREAK
ELSE
Continue
End
【问题讨论】:
-
一次交易中的 4 亿条记录会炸毁您的日志,如果要这样做,请确保您有足够的空间。
-
我不会一次删除 4 亿个...我有一个包含 4 亿个数据的表...我将一次删除可能 150 万个数据...并在其中插入一些数据。
标签: sql-server performance sql-delete