MS SQL 上的 HikariCP 语句缓存(Microsoft JDBC 驱动程序 4.1)
HikariCP statement caching on MS SQL (microsoft JDBC driver 4.1)
如何在 MS SQL RDBMS 中为 HikariCP 连接池启用语句缓存?
对于 MySQL 它是通过 :
dataSource.cachePrepStmts=true
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048
对于 PostgreSQL 来自:
hikari.dataSource.prepareThreshold=1
对于 Oracle,以下工作:
dataSource.implicitCachingEnabled=true
and adjusting via setMaxStatements() method of OracleDataSource
但我还没有找到任何适用于 MS SQL 2012 年及更高版本的内容。
语句缓存必须由数据库驱动提供,HikariCP不提供任何语句缓存。据我所知 (*),"Microsoft JDBC Driver for SQL Server" 也没有。这留下了使用替代数据库驱动程序 jTDS 的选项。 jTDS home page does not indicate compatability with MS SQL 2012 but, the sourceforge project page 可以(我没有使用 jTDS,所以我假设项目页面是最新的 (**))。
默认情况下,jTDS 驱动程序缓存每个连接 500 个语句(请参阅 FAQ page 上关于 maxStatements
的注释)。
不使用 dataSourceClassName
com.microsoft.sqlserver.jdbc.SQLServerDataSource
,而是使用 net.sourceforge.jtds.jdbcx.JtdsDataSource
(也在 this page 中提到,这也表明 HikariCP 已使用 jTDS 驱动程序进行测试)。
(*) SQLServerDataSource
可用的选项记录在 ISQLServerDataSource 中,但我找不到语句缓存的任何选项。
(**) 在最后一个 bug-reports 中鼓励评论:"We are using jTDS 1.3.1 with SQL Server 2014 with no issues."
如何在 MS SQL RDBMS 中为 HikariCP 连接池启用语句缓存?
对于 MySQL 它是通过 :
dataSource.cachePrepStmts=true
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048
对于 PostgreSQL 来自:
hikari.dataSource.prepareThreshold=1
对于 Oracle,以下工作:
dataSource.implicitCachingEnabled=true
and adjusting via setMaxStatements() method of OracleDataSource
但我还没有找到任何适用于 MS SQL 2012 年及更高版本的内容。
语句缓存必须由数据库驱动提供,HikariCP不提供任何语句缓存。据我所知 (*),"Microsoft JDBC Driver for SQL Server" 也没有。这留下了使用替代数据库驱动程序 jTDS 的选项。 jTDS home page does not indicate compatability with MS SQL 2012 but, the sourceforge project page 可以(我没有使用 jTDS,所以我假设项目页面是最新的 (**))。
默认情况下,jTDS 驱动程序缓存每个连接 500 个语句(请参阅 FAQ page 上关于 maxStatements
的注释)。
不使用 dataSourceClassName
com.microsoft.sqlserver.jdbc.SQLServerDataSource
,而是使用 net.sourceforge.jtds.jdbcx.JtdsDataSource
(也在 this page 中提到,这也表明 HikariCP 已使用 jTDS 驱动程序进行测试)。
(*) SQLServerDataSource
可用的选项记录在 ISQLServerDataSource 中,但我找不到语句缓存的任何选项。
(**) 在最后一个 bug-reports 中鼓励评论:"We are using jTDS 1.3.1 with SQL Server 2014 with no issues."