公司有套非常老的系统,数据库是MSSQL server 2005,积累了15年的历史数据,大概有2000多万行,由于业务原因,需要清除14年以前的历史数据,由于数据量本身比较大,删除非常缓慢,从网上找到了一些解决方案。
1)备份清日志
2)日期字段要有索引
3)统计下要删除的记录数,最小的日期
4)从最小的日期开始,按月/周/天分段删除,尽量把分段数据量控制在千数量级,一次性删太多锁就多了。
5)备份清日志
declare @mydate date,@int int
公司有套非常老的系统,数据库是MSSQL server 2005,积累了15年的历史数据,大概有2000多万行,由于业务原因,需要清除14年以前的历史数据,由于数据量本身比较大,删除非常缓慢,从网上找到了一些解决方案。
1)备份清日志
2)日期字段要有索引
3)统计下要删除的记录数,最小的日期
4)从最小的日期开始,按月/周/天分段删除,尽量把分段数据量控制在千数量级,一次性删太多锁就多了。
5)备份清日志
declare @mydate date,@int int