如何提升SQLServerDelete数据的效率
场景:
专注于为中小企业提供网站制作、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黄陂免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
对一张3亿的大表进行Delete。
通过中间表实现。
先把需要归档的数据写入历史表Cou_History..Cou_History。
把需要删除表的字段条件写入中间表。
select SysNo into COU_temp01
FROM COU
WHERE EXISTS (SELECT 1 FROM Cou_History..Cou_History a WHERE a.SysNo=COU.SysNo)
然后用中间表作为中间条件去删除主表的相关数据。再删除已经在主表删除的中间表字段数据。
以下SQL循环执行,直到全部删除完毕。
DELETE TOP(1000)
from COU
where SysNo in
(select top 1000 * from COU_temp01)
delete top(1000) from COU_temp01
网站栏目:如何提升SQLServerDelete数据的效率
分享URL:http://scyanting.com/article/ihchdh.html