Consultor Eletrônico



Kbase P7066: Progress Indexing and Bracketing Rules.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   25/11/2008
Status: Verified

GOAL:

Progress Indexing and Bracketing Rules.

GOAL:

Progress Indexing rules.

GOAL:

Progress Bracketing rules.

FACT(s) (Environment):

All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x

FIX:

Rule #1:
Unless you are looking up a record by ROWID (or RECID), you are ALWAYS using an index.

Rule #2:
Proper bracketing and efficient use of indices are the keys to good query performance.

Rule #3:
In order for any given component of a multiple component index to be used, all preceding components of the index must be matched with equality matches, and the expression components must be joined with AND.

Rule #4:
V6 and prior: one index, one bracket. Period.

Rule #5:
If a set of criteria parses to <subexpr> OR <subexpr> [OR <subexpr>?]. Progress evaluates each sub expression individually looking for matches on leading components of indices. If each subexpression has matches ( either Range or Equality ) on leading index component, Progress will create brackets for each subexpression on the appropriate index. If any of the subexpressions fails to match an index, no brackets are used: a full table scan must be done and the normal single index selection rules will be used.

Rule #6:
If a set of criteria parses to <subexpr> AND <subexpr> [AND <subexpr> ?], each subexpression is again individually matched with indices. However, each subexpression must include equality matches on every component of the index in order to generate a bracket. Again, if any one of the subexpressions fails to match an index, only one bracket will be used, and the default rules for single indices will apply.

Rule #7:
The general rules for single index selection. If there is a tie at any level between two or more indices, the tied index whose name comes first alphabetically will be used.