From Oracle document:
Branch blocks store the minimum key prefix needed to make a branching decision between two keys. This technique enables the database to fit as much data as possible on each branch block. The branch blocks contain a pointer to the child block containing the key. The number of keys and pointers is limited by the block size.
If I have Indexed column values as 111,121,131,141,151,161,171,181,191,211,221,231,241,251,261,271,281,291,etc.
| Branch Block 1 |
|---|
11..15 16..19 |
Branch Block 2
|
|---|
21..25 26..29 |
Leaf Block 1
|
|---|
111, ROWID_111 121, ROWID_121 131, ROWID_131 141, ROWID_141 151, ROWID_151 |
And the rest of the Leaf Blocks follow.
My understanding with the "minimum key prefix needed to make a branching decision between two keys", is that instead of storing the 111,121, etc in the Branch Blocks, it will store 11,12.
Is this design correct as per the quoted information?