Consultor Eletrônico



Kbase 37066: Progress Indexing and Bracketing Rules.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   02/04/2001
Solution ID: P7066

GOAL:

Progress Indexing and Bracketing Rules.

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.