虚拟化容器,大数据,DBA,中间件,监控。

oracle delete批量删除数据

01 08月
作者:admin|分类:DBA运维

在使用delete语句删除数据时,数据库是要做日志记录的,以便将来可以恢复数据,
可是我在删除上百万条数据时,十分缓慢甚至死机,请问有没有什么好方法?


这个是我平常用来批量删除数据,每500条数据提交一次。

DECLARE
CNT NUMBER(10):=0;
I NUMBER(10);
BEGIN
SELECT COUNT(*) INTO CNT FROM ep_arrearage_bak WHERE TO_CHAR(DF_DATE,'MM')='01';

FOR I IN 1..TRUNC(CNT/500)+1 LOOP
DELETE FROM ep_arrearage_bak WHERE TO_CHAR(DF_DATE,'MM')='01' AND ROWNUM<=500;
COMMIT;
END LOOP;
END;

浏览1621 评论0
返回
目录
返回
首页
Oracle ADD_MONTHS 使用 批量删除Oracle数据