记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
 
0

在使用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;



转载请标明出处【oracle delete批量删除数据】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论