Kbase P104068: REPOSITION TO ROWID statement is slow
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  03/02/2009 |
|
Status: Unverified
SYMPTOM(s):
REPOSITION TO ROWID statement is slow
The query being repositioned contains a considerable number of records.
The query being repositioned does not specify the INDEXED-REPOSITION option.
FACT(s) (Environment):
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x
OpenEdge Category: Language (4GL/ABL)
CAUSE:
This is expected behavior.
The following is a quote from the Language Reference manual, under "REPOSITION Statement":
- The REPOSITION statement might be slow if the record you position to has not yet been fetched.
- The REPOSITION TO ROWID statement might be especially slow. If the record has not yet been fetched, Progress performs a series of GET NEXT operations until the record is found. You can optimize the performance of a REPOSITION TO ROWID statement by opening the query using the INDEXED-REPOSITION option of the OPEN QUERY statement.
FIX:
You may speed up the REPOSITION TO ROWID statement by specifying the INDEXED-REPOSITION option in your OPEN QUERY statement (for static queries) or in the string passed to the QUERY-PREPARE() method (for dynamic queries).
Please beware that specifying the INDEXED-REPOSITION option has side effects that might impair the functionality of your application, especially when the query is used in conjunction with a browse widget. Please see Solution P77065 and the documentation for further details.