Oracle删除数据的效率问题

达人们,
我的Oracle10g数据库,有一张表里大概5000万的数据,我想删除其中的3000万数据,不知道如何删除可以高效一些,谢谢!
表里有一个索引是创建日期,还有一个索引是自增长的Sequence ID,不知该如何操作,望解答。

http://blog.csdn.net/l2tp1012/article/details/8623904

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′ ANDROWNUM<=500;
COMMIT;
END LOOP;
END;

每500条数据提交一次