Connection string keywords - Performance properties
Use these IBM® i Access ODBC driver connection string keywords to change Performance properties of the ODBC connection.
The following table lists connection string keywords for Performance properties that are recognized by the IBM i Access ODBC driver:
Keyword | Description | Choices | Default |
---|---|---|---|
BLOCKFETCH | Specifies whether or not internal blocking will
be done on fetches of 1 row. When set, the driver will try to optimize
the fetching of records when one record is requested by the application.
Multiple records will be retrieved and stored by the driver for later
retrieval by the application. When an application requests another
row, the driver will not need to send another flow to the host database
to get it. If not set, blocking will be used according to the application's
ODBC settings for that particular statement. Note: For more information
on setting this option see the Fine-tuning record blocking topic.
|
0 = Use ODBC settings for blocking 1 = Use blocking with a fetch of 1 row |
1 |
BLOCKSIZE or BlockSizeKB | Specifies the block size (in kilobytes) that is retrieved on FETCH requests and then cached on the client. This property has no effect unless the BLOCKFETCH property is 1. Larger block sizes reduce the frequency of communication to the server, and therefore may increase performance. | 1 – 8192 | 256 |
COMPRESSION or AllowDataCompression | Specifies whether to compress data sent to and from the server. In most cases, data compression improves performance due to less data being transmitted between the driver and the server. | 0 = Disable compression 1 = Enable compression |
1 |
CONCURRENCY | Specifies whether to override the ODBC concurrency
setting by opening all cursors as updateable. Note: In the following
two cases, setting this option has no effect:
|
0 = Use ODBC concurrency settings 1 = Open all cursors as updateable |
0 |
CURSORSENSITIVITY | Specifies the cursor sensitivity to use when opening cursors. This option applies to all forward-only and dynamic cursors that are opened on the same connection. Static cursors are always insensitive. | 0 - Unspecified/Asensitive 1 = Insensitive 2 = Sensitive |
|
EXTCOLINFO or ExtendedColInfo | The extended column information affects what
the SQLGetDescField and SQLColAttribute APIs
return as Implementation Row Descriptor (IRD) information. The extended
column information is available after the SQLPrepare API has been
called. The information that is returned is:
Note: the driver sets the SQL_DESC_AUTO_UNIQUE_VALUE flag only
if a column is an identity column with the ALWAYS option over a numeric
data type (such as integer). Refer to the DB2® for
i SQL Reference for
details on identity columns.
|
0 = Do not retrieve extended column information
1 = Retrieve extended column information |
0 |
LAZYCLOSE | Specifies whether to delay closing cursors until
subsequent requests. This will increase overall performance by reducing
the total number of requests. Note: This option can cause problems
due to the cursors still holding locks on the result set rows after
the close request.
|
0 = Close all cursors immediately 1 = Delay closing of cursors until the next request |
0 |
MAXFIELDLEN or MaxFieldLength | Specifies the maximum LOB (large object) size
(in kilobytes) that can be retrieved as part of a result set. LOBs
that are larger than this threshold will be retrieved in pieces using
extra communication to the server. Larger LOB thresholds will reduce
the frequency of communication to the server, but will download more
LOB data, even if it is not used. Smaller LOB thresholds may increase
frequency of communication to the server, but they will only download
LOB data as it is needed. Notes:
|
0 — 2097152 | 32 |
PREFETCH | Specifies whether to prefetch data upon executing a SELECT statement. This increases performance when accessing the initial rows in the ResultSet. | 0 = Do not prefetch data 1 = Prefetch data |
1 |
QRYSTGLMT | Specifies storage limit for a query. If the estimated storage usage exceeds the specified storage limit in the parameter, the query is not executed. | *NOMAX = No Query Limit 0 - 2147352578 |
*NOMAX |
QUERYOPTIMIZEGOAL | Specifies the optimization goal for queries. This parameter corresponds to the QAQQINI option called OPTIMIZATION_GOAL. For more information, refer to the QAQQINI option in the DB2 for i SQL Reference. | 0 = Use the goal of *ALLIO if extended dynamic
support is enabled, otherwise use the *FIRSTIO goal. 1 = *FIRSTIO - Return the first block of data as fast as possible. 2 = *ALLIO - Optimize as if the complete result set will be read by the application. |
0 |
QUERYTIMEOUT | Specifies whether the driver will disable support for the query timeout attribute, SQL_ATTR_QUERY_TIMEOUT. If disabled, SQL queries will run until they finish. | 0 = Disable support for the query timeout attribute 1 = Allow the query timeout attribute to be set |
1 |