Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> how can I improve my delete performance?
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.comReceived on Thu Sep 10 1998 - 18:10:38 CDT
--------------------------------------------------