RE: Delete based on rowid

From: Timur Akhmadeev <>
Date: Mon, 5 Oct 2009 16:30:52 +0400
Message-ID: <>


No, it’s not a bug. OP has an IOT. And since IOT and ROWID are not big friends <> , “table” access by physical rowid can’t be accomplished, hence, IFS is performed by Oracle.  


Timur Akhmadeev

-----Original Message-----
From: [] On Behalf Of Nuno Souto Sent: Monday, October 05, 2009 17:12
Cc: Oracle-L
Subject: Re: Delete based on rowid  

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!  



Nuno Souto

in wet Sydney, Australia    

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, <

> <>> 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?


Received on Mon Oct 05 2009 - 07:30:52 CDT

Original text of this message