Salesforce

Why does a scrolling query generate more database reads in Client-Server mode?

« Go Back

Information

 
TitleWhy does a scrolling query generate more database reads in Client-Server mode?
URL NameWhy-does-a-scrolling-query-generate-more-database-reads-in-Client-Server-mode
Article Number000188833
EnvironmentProduct: OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
Why does a scrolling query generate more database reads in Client-Server mode?

Why does a scrolling query generate more database reads in Client-Server mode than in Self-Service mode?
Steps to Reproduce
Clarifying Information
Executing a variation of the following query:
DEFINE QUERY myquery FOR mytable SCROLLING.
OPEN QUERY myquery FOR EACH mytable NO-LOCK.
GET FIRST myquery.

Executing the same query with a Client-Server connection generates more reads than executing it with a self-service connection.

The number of reads become the same after removing either "SCROLLING" OR "NO-LOCK".
Error Message
Defect Number
Enhancement Number
Cause
Resolution
This is expected behavior, caused by the use of the SCROLLING option. Per the Online Help,

"The SCROLLING option can improve NETWORK performance because query NO-LOCK records can be prefetched with multiple records per network message."

More reads are generated with the client-server connection because the AVM is prefetching table records in order to improve performance for forward or backward movement within the query's result list.
Workaround
Notes
Keyword Phrase
Last Modified Date6/15/2017 3:04 PM

Powered by