Oracle hints
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
The DataServer issues hints to Oracle in the following cases:
- For deletions and updates.
- For queries that use the
USE-INDEXphrase 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 theUSE-INDEXphrase must have aFOREIGN_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 nativeROWIDin 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 PREVandFIND LASTstatements - Ability of
FINDstatements to reposition each other - Support for the
RECIDfunction, although you can still use the OpenEdgeROWIDfunction