如何提升SQLServer Delete数据的效率

发布时间:2020-08-09 22:56:15 作者:ywxj_001
来源:ITPUB博客 阅读:618

场景:

对一张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

推荐阅读:
  1. SqlServer系列笔记——索引
  2. 如何提升MYSQL查询效率

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

delete sqlserver 如何

上一篇:k8s集群ConfigMap和Secret存储卷

下一篇:Android视图动画集合AndoridViewAnimations

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》