Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Local prefixed-index vs non-prefixed
I'm reading the chapter "11 Partitioned Tables and Indexes" of Oracle
Concepts (8.1.6).
There is a comparison between local prefixed and local non-prefixed
indexes.
It's written :
---
"It is more expensive to probe into a nonprefixed index than to probe
into a prefixed
index.
If an index is prefixed (either local or global) and Oracle is
presented with a
predicate involving the index columns, then partition pruning can
restrict
application of the predicate to a subset of the index partitions."
---
then a bit further :
---
"Of course, if there is also a predicate on the partitioning columns,
then multiple
(local non-prefixed) index probes might not be necessary. Oracle takes
advantage of the fact that a local
index is equipartitioned with the underlying table to prune partitions
based on the
partition key...
So for a nonprefixed index, if the partition key is a part of the
WHERE clause but
not of the index key, then the optimizer determines which index
partitions to probe
based on the underlying table partition."
---
So what i understand is that :
- in the case of prefixed index, partition pruining works (with the
index itself),
- in the case of non-prefixed index, partition pruining works TOO
(with the underlying table)
I must miss something...
(May be that in the case of a local prefixed index,
a predicate involving the index columns doesn't imply that the
partition key is part of the where clause.)
Can you show me an example where local prefixed index has a true advantage over local non-prefixed ?
TIA Jean-Michel Received on Thu Nov 21 2002 - 12:17:18 CST