The client library tracks (separately for each access method and path) the number of records that are typically processed by the application during a period of time. If considered useful, multiple records may be obtained internally from the server in one call and the additional records are cached by the client library temporarily. This is transparent to the application and should not change behavior.
The following access patterns are currently recognized:
Due to the reduced number of client/server calls this has the potential to increase performance, noticeably reduce the communication latency (especially over the network) as well as reducing the server load.
To fully maintain current behavior, any cached results are flushed automatically (and data is subsequently reread, if necessary) in any of the following events:
In some cases there will be little benefit in using a bulk-read. This condition should be detected automatically and either the amount of result records obtained in a single call is reduced or bulk fetching is no longer used to avoid a performance impact.
The EQ_DBCACHE environment variable may be used to disable the use of client side caching. When set to a zero value caching is disabled. If undefined or set to a nonzero value caching is enabled.