Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Why is PCTUSED not used for index?
Dino Hsu <dino1_at_ms1.hinet.net> wrote in message news:<q89intguueab55nq37kjasvu6ogihtjf5k_at_4ax.com>...
> Dear all,
>
> Quoting a book,
> "...Finally, pctused is not used in index definitions. Since all items
> in an index must be in the right order for the index to work, Oracle
> must put an index entry into a block, no matter what. Thus, pctused is
> not used."
>
> In my visulization of a block, if some data row or index entry is
> removed from a block, the upper part of data or index in the block
> moves down to fill the gap, thus moves closer to the pctused position.
> I don't why an index block behaves differently than a data block.
> Anyone explains this? Thanks in advance.
>
> Dino
Dino,
pctused does not make sense in an index creation. To understand
consider how indexes are kept (B*Tree)
An index containing lets say names in a B*Tree format is kept as (in
simple language):
Header Block, Branch Blocks and Leaf Blocks.
Leaf Blocks are assuming:
Block 1 [A-D]: [Adam, Boris, Dan]
Block 2 [E-G]: [Eliot, Gary]
......
If you add an entry e.g. Frank
then it can only go in Block 2 [E-G]. If Block 2 is too full then the
Block is split into two or else the entry is made in Block 2. It does
not make a difference if Block 2 is flagged as usable via the PCTUSED
condition, thus PCTUSED does not make any sense.
Anurag Received on Tue Aug 14 2001 - 13:59:33 CDT