The connection properties described in this section directly affect the performance of your driver. To tune for performance, configure your driver according to the recommended settings and your environment.
FetchSize
Purpose:
Specifies the number of rows that the driver processes before returning data to the application when executing a Select. This value provides a suggestion to the driver as to the number of rows it should internally process before returning control to the application. The driver may fetch fewer rows to conserve memory when processing exceptionally wide rows.
Performance Impact:
FetchSize and WSFetchSize can be used to adjust the trade-off between throughput and response time. In general, setting larger values for FetchSize and WSFetchSize will improve throughput, but can reduce response time.
Recommended Settings:
Set FetchSize to suit your environment. Smaller fetch sizes can improve the initial response time of the query. Larger fetch sizes improve overall fetch times at the cost of additional memory.
WSFetchSize
Purpose:
Specifies the number of rows of data the driver attempts to fetch from the native data source on each request submitted to the server.
Performance Impact:
FetchSize and WSFetchSize can be used to adjust the trade-off between throughput and response time. In general, setting larger values for FetchSize and WSFetchSize will improve throughput, but can reduce response time.
Recommended Settings:
Set WSFetchSize to 0 to fetch a maximum of 2147483647 rows for optimum throughput. Setting the value lower than the default, 1000000, can reduce the response time for returning the initial data.
WSPoolSize
Purpose:
Specifies the maximum number of Google BigQuery sessions the driver uses. This allows the driver to have multiple web service requests active when multiple JDBC connections are open, thereby improving throughput and performance.
Performance Impact:
WSPoolSize determines the maximum number of sessions the driver uses when there are multiple active connections to Google BigQuery. By increasing this number, you increase the number of sessions the driver uses to distribute calls to Google BigQuery, thereby improving throughput and performance. For example, if WSPoolSize is set to 1, and you have two open connections, the session must complete a call from one connection before it can begin processing a call from the other connection. However, if WSPoolSize is set to 2, a second session is opened that allows calls from both connections to be processed simultaneously.
Recommended Settings:
For optimal performance, specify a value that is equal to the number of sessions permitted by your Google BigQuery account.