许多数据库连接池库提供了测试其 SQL 连接是否空闲的能力。例如,JDBC 池库 C3p0有一个名为 preferredTestQuery
的属性,该属性按配置的间隔在连接上执行。类似地,ApacheCommons DBCP 具有 validationQuery
。
我看到的许多 例子查询都是用于 MySQL 的,建议使用 SELECT 1;
作为测试查询的值。但是,这个查询不能在某些数据库上工作(例如,HSQLDB,对于它,SELECT 1
需要一个 FROM
子句)。
是否存在一个与数据库无关的查询,其效率相当,但适用于所有 SQL 数据库?
编辑:
如果没有(似乎就是这种情况) ,是否有人建议使用一组 SQL 查询来适用于各种数据库提供者?我的目的是通过编程方式确定可以基于数据库提供程序配置使用的语句。