Best index selection

The best index algorithm is used in the pull criteria when a primary index has not been found to support ROWID through both dictionary and DataServer methodologies that examine indexes in search of the optimal ROWID. The best index selection algorithm takes place during schema pull after all the server objects are created. Prior to Progress Version 7.3, a unique index with a single mandatory integer column was required to set RECID/ROWID. From Version 7.3 until OpenEdge Release 11.0, a single column index may be selected automatically if one or many columns exist that meet the criteria of being mandatory and unique.

The ranking protocol used to choose the first/best RECID/ROWID index is shown in the following table.

Table 1. Best index ranking criteria
Rank Mandatory Unique Single- Component1 Integer Date 2 Float3 V7.3 Compatible ROWID Auto- selected ROWID
1 ? ? ? ?
2 ? ?
3 ? ? ?
4 ? ? ? ?
5 ? ?
6
7 ?
8 ? ?

1 Automatically selectable
2 Issues sorting date fields, decreases rank
3 Issues with equality in WHERE clauses, decreases rank