【基本优化实践】【1.5】如何在线稳定的删除/更新大量数据?

思路:必须要分批删除/更新,否则事务体量太大,删除时间太久,且为了保证不出问题应当有备份表

最佳实践如下:删除案例,更新相同这里就不特地写了

复制代码
while 1=1
begin
WAITFOR DELAY '00:00:01' 
DELETE TOP (3000) A output deleted.* into Db_Del..del_sys_users_goods 
FROM Db_Tank..sys_users_goods A where isexist=0

IF @@ROWCOUNT<3000 OR @@ERROR<>0 OR convert(varchar(12),getdate(),24) > '18:00:00' 
BREAK 
end
复制代码

 

set rowcount 1000
delete fromwhere
set rowcount 0

 

posted @   郭大侠1  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示