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.