OK.  Everyone is assuming that your deletion of millions of rows may be
expedited by simply truncating the table.  Now, that would be perfect if you
were simply emptying the table.  However, if data is to remain in the table,
then truncate is not the preferred choice.  Here are some options along with
some cautions.

1. PL/SQL procedure to perform delete - If you are deleting data based on
values in another table, you could use a DELETE with a correlated sub-query
to delete data.  You could also add a counter to the PL/SQL code to delete
50,000 rows, commit the deletion and then continue.  Unfortunately, if you
make a mistake with the DELETE, you must recover the table from Offline
archivedlogs.  PL/SQL has never been the preferred choice for working with
LOTS of data.
2. CTAS - Create Table as SELECT is another alternative.  If you can create
another table with only the data you want, delete the original table and
simply rename this new table to the old name, you may speed up the process.
Additionally, creating the table as UNRECOVERABLE helps as it reduces the
amount of redo data generated by Oracle.
3. Use indexes with the delete process - If your delete process is
referencing non-indexed columns, you are performing a full table scan for
the DELETE.  Using indexes will help performance significantly because the
amount of data scanned is significantly reduced.
4. Traditional DELETE wit subquery - Same as PL/SQL offering except you
cannot control the amount of data deleted between commits.

  These are four options.  Good luck.

Thank You

Stephen P. Karniotis
Technical Alliance Manager
Compuware Corporation
Direct: (248) 865-4350
Mobile: (248) 408-2918
Email:  [EMAIL PROTECTED]
Web:    www.compuware.com


 -----Original Message-----
Sent:   Thursday, December 27, 2001 3:15 PM
To:     Multiple recipients of list ORACLE-L
Subject:        RE: HOW TO MAKE DELETION FAST

TRUNCATE TABLE :-)


-----Original Message-----
Sent: Thursday, December 27, 2001 3:00 PM
To: Multiple recipients of list ORACLE-L


Hi Gurus
How to make deletetion of millions rows faster?
Please suggest.
Thx
Seema



_________________________________________________________________
Join the world's largest e-mail service with MSN Hotmail. 
http://www.hotmail.com

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Seema Singh
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Karniotis, Stephen
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to