Subject | Re: [firebird-support] Re: Is this a bug or intended behaviour? |
---|---|
Author | Norman Dunbar |
Post date | 2010-06-26T18:33:07Z |
Evening Ann,
cascading update, only a cascading delete. It does have deferred
constraints as well.
What Oracle does to make a primary or unique constraint deferred is base
it on a non-unique index. That allows the ability to have duplicates in
the constrained column(s).
For foreign Key constraints, the index is already non-unique, so it
makes no difference.
As for performance, running Oracle with deferred constraints does add a
slight overhead - looking up a PK in a non-unique index is done by an
index range scan rather than by a unique lookup.
Cheers,
Norman.
> I think Oracle has cascading delete ... but not cascadingYou are correct. Oracle doesn't (at least at 10g anyway) have a
> update.
cascading update, only a cascading delete. It does have deferred
constraints as well.
What Oracle does to make a primary or unique constraint deferred is base
it on a non-unique index. That allows the ability to have duplicates in
the constrained column(s).
For foreign Key constraints, the index is already non-unique, so it
makes no difference.
As for performance, running Oracle with deferred constraints does add a
slight overhead - looking up a PK in a non-unique index is done by an
index range scan rather than by a unique lookup.
Cheers,
Norman.