SQL Server删除大量数据,将大批量操作分成小批量操作

当线上数据表的数据量很多时,一次性使用DELECT删除会造成时间过长,可能会锁死表,同时日志也会占满。

此时我们需要将大批量操作分成小批量操作,比如一次性只删除1000条数据。以下语句红色部分修改为对应的表和字段即可。

DECLARE @onedeletecount INT
SET @onedeletecount=1000
WHILE 1=1
BEGIN
DELETE TOP(@onedeletecount) FROM tablename WHERE date <'2019-08-28' ;
IF (@@rowcount<@onedeletecount) BREAK ;
END

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐

Kdevtmpfsi 挖矿病毒处理方式

中毒线上状态:CPU占满90%+,引发线上服务处理异常缓慢等问题,从而导致业务异常。 处理方法: 1. 查看占用高的进程。 ...

微信扫一扫,分享到朋友圈

SQL Server删除大量数据,将大批量操作分成小批量操作