c3p0用于测试连接花费太多时间

时间:2014-07-03 10:05:41

标签: jdbc c3p0

就我而言, 测试连接c3p0通过执行查询花费了太多时间

SHOW FULL TABLES FROM `xyz` LIKE 'PROBABLYNOT'

当我使用mysql连接器版本5.1.25时。有驱动程序支持JDBC 4。 因为我提到了一个链接 http://www.mchange.com/projects/c3p0/#configuring_connection_testing

提到

  

如果您使用的是肯定支持的JDBC驱动程序   新的(ish)JDBC 4 API,什么都不做。 JDBC 4 Connections包括一种方法   叫做isValid()应该实现快速,可靠   连接测试。默认情况下,c3p0将使用该方法   本。

所以我的问题是我是如何知道它是使用isvalid()方法以及当c3p0调用此方法时执行的查询。

1 个答案:

答案 0 :(得分:5)

您显示的查询肯定来自c3p0缓慢的默认连接测试。

您使用的文档适用于最新版本的c3p0,0.9.5-pre8。您可能没有使用最新版本。 (我应该在文档中注明这一点。)

所以......要么升级到0.9.5-pre8(它的质量很高,非常接近发布),要么提供高效的preferredTestQuery配置参数(SELECT 1似乎适用于MySQL。)