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: Reverse Key Index

Re: Reverse Key Index

From: Richard Foote <richard.foote_at_bigpond.com>
Date: Fri, 27 Sep 2002 23:06:11 +1000
Message-ID: <iyYk9.41142$g9.118770@newsfeeds.bigpond.com>


Hi Y,

Just to add to what Jonathan has said.

It's the more even distribution of "hits" on the various blocks that is the RKI's best feature. In a heavy, concurrent insert environment, rather than having everyone wanting access to *the* block, you spread the blocks being hit and hence reduce the potentially expensive buffer busy waits that eventuates.

One of it's main disadvantages however is the inability to perform index range scans as such values are now distributed all over the place.

Cheers

Richard
"Jonathan Lewis" <jonathan_at_jlcomp.demon.co.uk> wrote in message news:an1122$7c8$1$8300dec7_at_news.demon.co.uk...
>
> Don't try to understand it - it's wrong.
>
> "Balanced B-tree" indexes as used by
> Oracle are always 'balanced' - it's part
> of the definition. This means that all LEAF
> blocks are the same distance from the ROOT
> block at any moment in time.
>
> The comments you are looking at probably
> relate to the fact leaf blocks split when full
> and different arrival patterns for new data
> can result in different degrees of wastage
> of space (on average) in a block because of
> the long-term effects of splitting.
>
> In theory the leaf blocks of a balanced b-tree
> will operate, on average, over large volumes of
> data arriving in random order, with 25% wastage
>
> There is a well-known myth that sequentially
> arriving data will cause the index to operate
> at 50%.wastage. In fact it will operate at close
> to 100% if the data really does arrive sequentially.
>
> However, if the column is generated by a sequence
> number, but the application coding strategy stops
> the data from arriving sequentially, you can pick any
> number between 0% and 50% as the amount of
> wastage in the block.
>
>
> Using a reverse key index tends to flatten out the
> wastage (to the standard 25%) by "randomising"
> the stored value.
>
>
> --
> Regards
>
> Jonathan Lewis
> http://www.jlcomp.demon.co.uk
>
> Next Seminar dates:
> (see http://www.jlcomp.demon.co.uk/seminar.html )
>
> ____England______September 24/26, November 12/14
>
> ____USA__________November 7/9 (MI), 19/21 (TX)
>
> The Co-operative Oracle Users' FAQ
> http://www.jlcomp.demon.co.uk/faq/ind_faq.html
>
>
>
>
>
>
>
>
> y wrote in message <3D93A7E7.E9E9B35B_at_y.com>...
> >Hi,
> >Suppose I hava a table which contains sequential numbers. And I need
> >build an index on that column. I checked the manual, still can not
> >understand why RKI(Reverse Key Index) can build more evenly distributed
> >index tree than a B-tree.
> >Any help would be appreciated!
> >
> >
> >
> >
>
>
>
>
Received on Fri Sep 27 2002 - 08:06:11 CDT

Original text of this message

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