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: y <y_at_y.com>
Date: Fri, 27 Sep 2002 23:46:49 GMT
Message-ID: <3D94EDAE.618A0AA3@y.com>


Good Point! Richard. Thank you!

Richard Foote wrote:

> 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 - 18:46:49 CDT

Original text of this message

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