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

暂无评论

发表评论

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

相关推荐

钉钉视频会议使用操作指南

一、需要使用手机钉钉扫描电脑二维码发起视频会议(因为手机上有相关的配置,手机接听来电,不会断开发起的视频会议) ...

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

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