Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> How to tune this stored proc?
We have a table which contain about 4.5M records and need to purge about
580000 records each day by transaction date.
The problem is that we found it takes too long, more than 4 hours to
delete these records. The following is the stored proc we use, is there
any better method or how to tune this stored proc?
PROCEDURE SP_PurgeTxn (p_date IN DATE)
IS
BEGIN
LOOP
DELETE FROM detail_txn dt WHERE tran_date = p_date AND rownum <= 4000; IF SQL%NOTFOUND THEN EXIT; ELSE COMMIT; END IF;
![]() |
![]() |