Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: index pctfree
A point worth stressing is that PCTFREE is only used as the index is created.
If you set PCTFREE to zero, then the first
change to the data is likely to result in an
index block splitting, leaving you with 2
index blocks at 50% usage. With a bit of
bad luck, you will rapidly end up with the
whole index operating at close to 50%
efficiency.
Unless you are dealing with a totally
static table, or an index that is appended
to at the 'right hand' edge by sequential
key values, then PCTFREE = 0 is likely
to be a bad idea.
A better strategy when rebuilding an index
is to work out the 'steady state' efficiency
level and create the index at that level.
As a general guideline, PCTFREE=25 is
the nominal steady state for a B-tree.
--
Jonathan Lewis
Yet another Oracle-related web site: http://www.jlcomp.demon.co.uk
terrysutton_at_usa.net wrote in message ...
>Given that, when index values are updated, Oracle doesn't actually update
>the data, but deletes it and creates a new entry, is there a reason to have
>a pctfree value other than 0 for an index?
>
>
>
Received on Mon Sep 27 1999 - 15:39:19 CDT
![]() |
![]() |