在SQL Server 2012中删除数十亿条记录的最佳方法是什么?

时间:2013-09-11 06:48:56

标签: sql sql-server sql-server-2012

我在表格中有10亿条记录。我试图用两个字段值删除这些记录。但这花费了太多时间。那么你能告诉我任何解决方案。

3 个答案:

答案 0 :(得分:0)

如果要删除所有十亿条记录,只需将其截断即可。如果您想要存在某些记录,可以使用查询DELETE FROM ...

答案 1 :(得分:0)

如果是全部,你可以使用TRUNCATE else复制你想要保存在临时表中的内容,截断并从临时表中重新插入

答案 2 :(得分:0)

SET ROWCOUNT 500

一次删除500

select 1    -- Just to force @@rowcount > 0
while @@ROWCOUNT > 0
delete from [table]
[where ...]

link to the same question