Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Performance analysis (enqueue and buffer busy waits)

Re: Performance analysis (enqueue and buffer busy waits)

From: Jonathan Lewis <>
Date: Wed, 15 Aug 2001 13:13:15 -0700
Message-ID: <>

Inserts do nothing special - there won't be pre-existing child rows (and if there are, the insert is going to get a duplicate in index error)

Updates that don't affect the key value do nothing special.

Updates that change the parent key value (and this could even mean the old Forms 'update table set all rows to an unchanged value') lock the child table in mode 4 (or possibly 5 if the session has already done some DML on the child), then do a tablescan to make sure that no child rows for that parent exist.

Deletes do the same.

Yes, it can take some time.

Jonathan Lewis

Seminars on getting the best out of Oracle Last few places available for Sept 10th/11th See

-----Original Message-----
To: Multiple recipients of list ORACLE-L <> Date: 15 August 2001 20:50

"Enqueue waits cannot cause buffer busy waits, but the absence of indexes (and you point out missing FK indexes) can result in excessive tablescanning, and tablescanning can result in buffer busy waits.

Jonathan Lewis"

Hi Jonathan,

thanks for answering.
there's something I'd like to know, hope you can explain it to me:

what does the foreground process exactly do with the child table when it makes a DML (insert, update,...) to a parent table that's pointed by a FK not indexed?

Does it make a FTS to make sure the DML is not invalidating the FK ???
if this is the case, and the child table is pretty big, wouldn't a simple update (to only one row) in the parent table takes a lot of time.


Please see the official ORACLE-L FAQ:

Author: Jonathan Lewis

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: (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). Received on Wed Aug 15 2001 - 15:13:15 CDT

Original text of this message