Consultor Eletrônico



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 .