场景: 对一张3亿的大表进行Delete。 通过中间表实现。 先把需要归档的数据写入历史表Cou_History..Cou_History。 把需要删除表的字段条件写入中间表。 select S
场景:
对一张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
--结束END--
本文标题: 如何提升SQLServer Delete数据的效率
本文链接: https://lsjlt.com/news/47308.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0