Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: consistent gets

Re: consistent gets

From: freCho <svenson1_at_libero.it>
Date: Tue, 22 Mar 2005 13:50:50 +0100
Message-ID: <pan.2005.03.22.12.50.50.239375@libero.it>


Mentre cercavo di capire la differenza tra una select e un drop database, Jonathan Lewis ha scritto:

>
> Immediately after you deleted the huge amount of
> data, there were lots of empty leaf blocks at the
> left-hand edge of the index.
>
> Your query for min() would have to start at the
> left hand edge, and walk through all those empty
> blocks (building read-consistent versions if necessary)
> to find the first row that still existed. This is why you
> get so many CR gets.

[CUT]
> The empty blocks will eventually be re-used or
> taken out of the index structure, but for very
> large deletes, the time-delay for a proper cleanout
> can be significant.

[CUT] Thank you very much Jonathan a very clear explanation. But this means that the index *is not* always balanced, because in such situations the leaf blocks at the left hand are empty.
The dml I've used was "delete from TABLE where cdate < data parallel ...." so I think that *all* the blocks starting from the left side up to a block in the middle (which contains data > data_used_on_dml) should be deleted. If this is right....than I don't understand how can the index stay balanced in such kind of situations.

regards Received on Tue Mar 22 2005 - 06:50:50 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US