The DataServer issues hints to Oracle in the following cases:
For deletions and updates.
For queries that use the USE-INDEX phrase if the DataServer determines that a hint would ensure that the order of the report is consistent with ABL. The index that you specify in the USE-INDEX phrase must have a FOREIGN_NAME. That is, it must be an index defined in the Oracle database and in the schema holder. It cannot be a field that you define as an index in the schema holder only, nor can it be a function-based index because function-based index definitions do not get described to the schema holder.
Note: When a query specifies the EXCLUSIVE-LOCK condition, the hint is applied to the first SQL request executed against Oracle for the ABL query which is responsible for producing a key cache of the result set. Subsequent SQL requests, that position the query on individual records to be locked, do not apply the index hint.
For queries that use the native Oracle ROWID. Note that you must specify that a table use the native ROWID in the schema holder using the Data Dictionary.
If you create your Oracle database using the OpenEdge DB-to-Oracle migration utility and choose the Create Progress RECID option, your tables must use the PROGRESS_RECID column instead of the native ROWID or your applications will not benefit from this performance enhancement. The combination of this enhancement and using the native Oracle ROWID results in performance gains when your application holds exclusive locks or upgrades locks.
In general, using the native ROWID tends to help performance, though you lose the following functionality:
Support for FIND PREV and FIND LAST statements
Ability of FIND statements to reposition each other
Support for the RECID function, although you can still use the OpenEdge ROWID function