Performance considerations
- Last Updated: November 14, 2022
- 2 minute read
- DataDirect Connectors
- JDBC
- Snowflake 6.0
- TeamCity 6.0
- Documentation
ArrowFallbackToJson: ArrowFallbackToJson can be configured to allow the driver to fall
the JSON query format when the arrow format is not properly initialized
(ArrowFallbackToJson= Enable | Warn). By
falling back to JSON query format, the driver can continue to execute queries that would
normally return an exception; however, there is a significant performance tradeoff from not
using the high-speed arrow transfer. For ideal performance, configure your JVM properly by
specifying the --add-opens=java.base/java.nio=ALL-UNNAMED option value and
disable this connection property (ArrowFallbackToJson=
Disable).
FetchSize: FetchSize can be used to adjust the trade-off between throughput and response time. In general, setting larger values for FetchSize will improve throughput, but can reduce response time. You should 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.
InsensitiveResultSetBufferSize: To improve performance when using scroll-insensitive result sets, the driver can cache the result set data in memory instead of writing it to disk. By default, the driver caches 2 MB of insensitive result set data in memory and writes any remaining result set data to disk. Performance can be improved by increasing the amount of memory used by the driver before writing data to disk or by forcing the driver to never write insensitive result set data to disk. The maximum cache size setting is 2 GB.
MaxPooledStatements: To improve performance, the driver's own internal
prepared statement pooling should be enabled when the driver does not run from within an
application server or from within another application that does not provide its own prepared
statement pooling. When the driver's internal prepared statement pooling is enabled, the
driver caches a certain number of prepared statements created by an application. For example,
if the MaxPooledStatements property is set to 20, the driver
caches the last 20 prepared statements created by the application. If the value set for this
property is greater than the number of prepared statements used by the application, all
prepared statements are cached.
- Larger values can increase the load on the server, which may adversely affect performance of other users. If you encounter issues, decrease the value specified for this option.
- Larger values may result in unnecessary requests if your application only requires the first few rows of results. This may be an issue if your service places limits on the number of web requests.
5. For typical environments, this value is sometimes
lower.