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: Why is PCTUSED not used for index?

Re: Why is PCTUSED not used for index?

From: Anurag Varma <avdbi_at_hotmail.com>
Date: 14 Aug 2001 11:59:33 -0700
Message-ID: <7171ca2d.0108141059.11078207@posting.google.com>

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

Original text of this message

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