数据库连接池优化配置
1 | spring: |
validation-query
validation-query
是一个 SQL 查询语句,用于验证连接是否仍然有效。当连接从连接池中获取并且处于空闲状态时,Hikari 连接池会执行 validation-query
来确保连接仍然有效。如果执行 validation-query
失败或返回的结果不符合预期,连接将被标记为无效并从连接池中移除,然后将会尝试获取一个新的连接来替代。默认情况下,validation-query
被设置为 null
,表示不进行连接的验证。
connection-test-query
connection-test-query
是一个可选的 SQL 查询语句,用于在连接被创建时进行测试。当连接池创建新的连接时,会在连接被返回之前执行 connection-test-query
。如果执行 connection-test-query
失败或返回的结果不符合预期,连接将被标记为无效并丢弃,然后将会尝试获取一个新的连接来替代。默认情况下,connection-test-query
被设置为 null
,表示不进行连接的测试。
总结起来,validation-query
在连接从连接池中获取时进行验证,而 connection-test-query
在连接被创建时进行测试。这两个属性的目的都是确保连接的有效性,并在需要时替换无效的连接。
validation-timeout 毫秒 默认5s
当连接从连接池中获取并且处于空闲状态时,连接池会执行 validation-query
来验证连接的有效性。validation-timeout
指定了执行验证查询的最大等待时间。如果在指定的超时时间内无法完成验证查询,连接将被标记为无效并从连接池中移除,然后将会尝试获取一个新的连接来替代。