I'm talking outside my area of expertise here,
so don't take this as guaranteed:
B+
When a leaf block is full it splits and half the
contents will be moved to the new leaf. (In
fact Steve Adams has demonstrated that Oracle
tries to optimise branch packing by being a
little flexible on the split).
B*
When a leaf block is full, you scan the two
adjacent leaf blocks to see if you can migrate
one entry into them. If this is not possible, you
split two buckets into three. (I don't know how
you choose whether to split the left or right
neighbour).
B+ can run down to 50% efficiency on random
inserts, whereas B+ can only go down to 67%.
B* has to do more work more often on inserts.
(In Oracle's case it might also be much more
expensive when dealing with read-consistent
queries).
Regards
Jonathan Lewis
http://www.jlcomp.demon.co.uk
The educated person is not the person
who can answer the questions, but the
person who can question the answers -- T. Schick Jr
Next public appearances:
March 2004 Hotsos Symposium - The Burden of Proof
March 2004 Charlotte NC OUG - CBO Tutorial
April 2004 Iceland
One-day tutorials:
http://www.jlcomp.demon.co.uk/tutorial.html
Three-day seminar:
see http://www.jlcomp.demon.co.uk/seminar.html
____UK___February
____UK___June
The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html
----- Original Message -----
From: "Daniel Hanks" <hanksdc@(protected)>
To: <oracle-l@(protected)>
Sent: Friday, February 06, 2004 8:08 PM
Subject: B+Tree vs. B*Tree
This may be a little off-topic, but, what are the differences between B+tree
indexes, and B*tree indexes? At school I had to write a program to perform
insert and update on a B+tree index, so I'm familiar with that type of
index. Searching for B*tree on Google is less than effective as Google
strips out the * character.
Any docs you could point me to would be helpful. I have the Silberschatz
book mentioned previously today, which covers B-tree, and B+tree indexes,
but not b*tree indexes.
Thanks,
-- Dan
========================================================================
Daniel Hanks - Systems/Database Administrator
About Inc., Web Services Division
========================================================================
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------