SelectMethod
- Last Updated: May 15, 2020
- 2 minute read
- DataDirect Connectors
- JDBC
- IBM Db2 5.1
- MySQL 5.1
- Progress OpenEdge 5.1
- SAP Sybase 5.1
- Documentation
Purpose
A hint to the driver that determines whether the driver requests a database cursor for Select statements. Performance and behavior of the driver are affected by this property, which is defined as a hint because the driver may not always be able to satisfy the requested method.
Valid Values
direct | cursor
Behavior
If set to direct, the database server sends the complete result set in a
single response to the driver when responding to a query. A server-side database cursor is
not created if the requested result set type is a forward-only result set. Typically,
responses are not cached by the driver. Using this method, the driver must process the
entire response to a query before another query is submitted. If another query is submitted
(using a different statement on the same connection, for example), the driver caches the
response to the first query before submitting the second query. Typically, the direct method
performs better than the cursor method.
If set to cursor, a server-side cursor is requested. When returning
forward-only result sets, the rows are returned from the server in blocks. The
setFetchSize() method can be used to control the number of rows that are returned for each
request when forward-only result sets are returned. Performance tests show that, when
returning forward-only result sets, the value of Statement.setFetchSize() significantly
impacts performance. There is no simple rule for determining the setFetchSize() value that
you should use. We recommend that you experiment with different setFetchSize() values to
determine which value gives the best performance for your application. The cursor method is
useful for queries that produce a large amount of data, particularly if multiple open result
sets are used.
Default
direct
Data Type
String