繁体   English   中英

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

[英]What is the best way to delete billion of records in SQL Server 2012?

我的表中有10亿条记录。 我正在尝试删除具有两个字段值的这些记录。 但这需要太多时间。 所以你能告诉我任何解决方案吗?

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

如果可以的话,可以使用TRUNCATE否则将要保留的内容复制到临时表中,然后从临时表中截断并重新插入

SET ROWCOUNT 500

一次删除500

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

链接到同一问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM