清理历史数据方法

概述:
根据公司业务需要,经常会有历史数据迁移清理的工作,当表是分区表是,比较方便,但是如果不是分区表,经常使用delete操作,但是delete数据库量大,会遇到很慢,有时会导致数据库出现问题,甚至可能出现锁的问题,所以一般采用存储过程批量提交删除的方法:如下为存储过程内容
create or replace procedure pro_del is
v_i number := 0;
begin
for c in (select t.*, rowid nrowid
from RESULT t
where t.CREATE_TIME < to_date(‘201607’, ‘yyyymm’)) loop
delete from RESULT where rowid = c.nrowid;
v_i := v_i + 1;
if (v_i >= 1000) then
commit;
v_i := 0;
end if;
END LOOP;
end pro_del;

猜你喜欢

转载自blog.csdn.net/qq_41128383/article/details/86477254
今日推荐