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 http://www.jlcomp.demon.co.uk/seminar.html




-----Original Message-----
To: Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
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.


TIA




-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Jonathan Lewis
  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