| 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;
|  |  |