Re: Delete based on rowid

  • From: troach@xxxxxxxxx
  • To: oracle.tutorials@xxxxxxxxx,"Oracle-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 5 Oct 2009 11:10:46 +0000

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?
Sent from my Verizon Wireless BlackBerry

-----Original Message-----
From: DBA Deepak <oracle.tutorials@xxxxxxxxx>
Date: Mon, 5 Oct 2009 16:04:09 
To: Oracle-L<oracle-l@xxxxxxxxxxxxx>
Subject: Delete based on rowid

Have a simple question.

When we delete a row based on rowid from an indexed table, how the index
entry gets deleted?

DELETE t WHERE rowid='<some rowid>';

Am asking this because in my case Oracle is doing a full index scan. Can we
say deleting an indexed table based on rowid may not be the fastest way of
deleting a row?

Please comment...

Other related posts: