Re: Delete based on rowid

From: Nuno Souto <dbvision_at_iinet.net.au>
Date: Mon, 05 Oct 2009 23:12:22 +1000
Message-ID: <4AC9F0B6.6060004_at_iinet.net.au>



Agreed, but it sounds like a bug to me.
It would be much faster to read the row
given the rowid and then use whatever
column values(s) come up in indexes
to get rid of the index entry.
I can sort of understand a non-unique index maybe using an index ffs, but a unique one? Yet, stranger things have been seen...
I suppose it'd also depend on the index depth as well?
Plenty of ideas for some in-depth investigation, I reckon!
-- 
Cheers
Nuno Souto
in wet Sydney, Australia
dbvision_at_iinet.net.au


rjamya wrote,on my timestamp of 5/10/2009 9:26 PM:

> I think you are right ... when delete happens on a (indexed) column
> value, the index deletion should be quick but since rowid is used, a
> index ffs is probably the fastest oracle can do.
>
> On Mon, Oct 5, 2009 at 7:10 AM, <troach_at_gmail.com
> <mailto:troach_at_gmail.com>> wrote:
>
> Since a btree index is organized by columns, not rowid (assuming its
> a btree index) oracle need to full scan it for that rowid. Since
> rowid points to the row in the table and not the index, it has no
> choice but to full scan the index. Someone please correct me if I'm
> wrong?
-- http://www.freelists.org/webpage/oracle-l
Received on Mon Oct 05 2009 - 08:12:22 CDT

Original text of this message