Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: performance when inserting into child tables
the short explanation for this behavior (which is correctly described by this
former second hand car salesman) is that Oracle performs dirty reads on indexes
under the covers, for constraint checking. it has to, otherwise users could not
get error messages in case they are e.g. inserting (without committing)
duplicate PK values. read consistency is guaranteed on tables, so I would say
this ias not a violation of any ACID properties...
additions/corrections welcome,
Lex.
> Lock is released before commit? That would be something! So, what is to
> prevent child from inserting a record with an old value of the foreign key,
> the only one that it can see? It looks like a slight violation of the ACID
> property. What, exactly, do they mean by "immediately"? If it is "immediately
> after the transaction ends", then it's not so new. If the lock is released
> before the transaction modifying the parent key ends, there are quite few
> nasty possibilities for breaking the integrity. Do you have any Metalink
> note? Was the instructor a former second hand car salesman or a real estate
>
agent?
-- Archives are at http://www.freelists.org/archives/oracle-l/ FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------Received on Thu Apr 22 2004 - 02:29:09 CDT
![]() |
![]() |