Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> how can I improve my delete performance?

how can I improve my delete performance?

From: David Moles <dmoles_at_ftpoint.com>
Date: Thu, 10 Sep 1998 16:10:38 -0700
Message-ID: <35F85C6E.942FF1AF@ftpoint.com>


I have a parent table with several thousand records in it, and a number of other tables foreign-keyed off that table with anywhere from zero to ten child records per parent record. The foreign keys are all declared ON DELETE CASCADE. Is there anything I can do to improve the performance of

  DELETE FROM parent_table WHERE id IN
    (SELECT field FROM some_other_table);

when this means deleting a large proportion of those several thousand records? It's taking 1-2 sec. per parent record.

The CPU doesn't seem to be doing much work -- it's using 10-15% of one CPU of a dual CPU system. The disk seems to be the bottleneck -- but maybe there's something in the way I have my tables set up that could be changed to reduce the amount of work it's doing? Failing that, is there anything I can configure on the DB side? I've got over 100MB of RAM that's going idle.


David Moles              Fort Point Partners, Inc.
(415)537-7027                   dmoles_at_ftpoint.com

--------------------------------------------------
Received on Thu Sep 10 1998 - 18:10:38 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US