Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: performance when inserting into child tables
See!! I knew I wasn't going to change anything based on a comment in an
Oracle class.
I'm smarter than the average DBA.
Tom Mercadante
Oracle Certified Professional
-----Original Message-----
From: Jonathan Lewis [mailto:jonathan_at_jlcomp.demon.co.uk]
Sent: Wednesday, April 21, 2004 2:49 PM
To: oracle-l_at_freelists.org
Subject: Re: performance when inserting into child tables
It's released (almost) immediately after it has been taken, but the request need not be granted immediately.
The request is Share (4) or Sub Share Exclusive (5), so it has to wait for all current Row Exclusive (3 - the normal lock for inserts, updates and deletes) to be released. Moreover, whilst the request is pending, every other session wishing to do a 'normal' I/U/D will queue behind it.
It does NOT solve the problem of parent/child tables with missing indexes on the child - it can reduce the impact on low-activity systems.
Regards
Jonathan Lewis
http://www.jlcomp.demon.co.uk
The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html
April 2004 Iceland http://www.index.is/oracleday.php June 2004 UK - Optimising Oracle Seminar July 2004 USA West Coast, Optimising Oracle Seminar August 2004 Charlotte NC, Optimising Oracle Seminar September 2004 USA East Coast, Optimising Oracle Seminar September2004 UK - Optimising Oracle Seminar
Jared,
you said:
"The lack of indexes for the FK's will cause a share lock to be taken out on the child table when ever the parent is deleted or updated."
The most recent Oracle class I took said that in 9i, this lock on the child table is taken and released immediately. Supposedly to speed the process up a bit.
Tom Mercadante
Oracle Certified Professional
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.htmlput 'unsubscribe' in the subject line.
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request_at_freelists.org
![]() |
![]() |