Kbase P123569: Does Progress select multiple single field indexes based on index name?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/3/2008 |
|
Status: Unverified
GOAL:
Does Progress select multiple single field indexes based on index name?
GOAL:
Does Progress select single field indexes alphabetically?
GOAL:
How does Progress select multiple single field indexes?
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
FIX:
Internally, when Progress caches index meta-data for a given table, it is done using the meta-data index in the _INDEX table on the table's recid and the index name (_file-recid/_index-name); Progress' internal cache is in that order. However, this order cannot be depended upon since many other things influence choice of index.
For example, in a case where there are 3 single field, non-unique indexes and each field is used in the WHERE clause and AND-ed, all 3 indexes are selected. At runtime, Progress will make 3 lists of the matches and remove any duplicates. How many reads it has to do to accomplish this depends on things like key-compression and size of keys.
The choice of index should depend only on names given in the WHERE, BY and USE-INDEX .