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: How are INDEXES BALANCED?

Re: How are INDEXES BALANCED?

From: Dennis Taylor <no_spam_dammit_at_ipipeline.net>
Date: 1997/09/17
Message-ID: <01bcc379$0aae8580$6557c2cf@dennislap>#1/1

Kevin Loney <kevin.loney_at_astramerck.com> wrote in article <01bcc367$b384bd80$aa9e02a7_at_LONEYK.astramerck.com>...
>
> Oracle
> leaves the rest of the index alone and splits the J entry blocks,
 creating
> new levels
> in the index only at that part of the index. So the index levels may now
> be:
>
> top level: (branch blocks)
> A-H I-P Q-Z
>
> next level: (branch blocks)
> A, B, C, D, E, F, G, H, I, J, K, L, M, N, O , P, Q, R, S, T, U, V, W, X,
 Y,
> Z
>
> next level:
> for all except the Js, point to leaf blocks. For the J's:
> new branch blocks:
> JA, JB, JC, JD, JE, JF , etc.
>
> next level:
> leaf blocks for J's.
>
> That's not balanced. It has more levels at the point of greatest
 activity.
>

Kevin:

There is no requirement (AFAIK) for a balanced btree to be *completely* balanced. You are talking about one extra level of branch blocks in the area of greatest activity. That's exactly the same behaviour I got with my implementation (which I'll grant you wasn't of professional level), and the algorithm as I understand it allows a +/- 1 depth over the entire index. I'd be more concerned if there was more depth variation.

The thing is, your example shows that Oracle is doing some explicit balancing. It looks at this point like the argument is about whether the balancing is thorough enough or not.

-- 
---
email address is dtaylor at ipipeline dot net
---
Spammers: Here's some free addresses for you:
rhundt_at_fcc.gov
jquello_at_fcc.gov
sness_at_fcc.gov
rchong_at_fcc.gov
Received on Wed Sep 17 1997 - 00:00:00 CDT

Original text of this message

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