SQL2008 删除大数据量记录方法(千万级)

最近公司数据库记录生成速度每天都是几百万条,一个日志库,因为运营需要,一直没有做清除操作,最近查询越来越慢,领导批示保留5天以内的.遂着以下记录:

大家应该都知道用delete删除表中记录,删除的数据越大,执行的时间是非常长的,也会导致日志文件爆涨,针对这种情况可使用以下方法:此操作删除时间快,以及生成的日志量少。

 

declare @delcount int
set @delcount=200000 //数量,可根据实际情况调整
while 1=1
begin
     delete top(@onecount) from tablename where datediff(dd,time,getdate())>5;
     IF (@@rowcount<@onecount) BREAK;
end
此条目发表在SQL分类目录。将固定链接加入收藏夹。

发表回复