oracle 设置查询超时_数据库超时基本概念

目录

基本概念

1、建立数据库连接

2、从连接池取连接

3、验证获取的连接

4、发送statement到数据库

5、读取查询结果

参考资料

基本概念

DBMS(DataBase Management System):数据库管理系统。常见的有MySQL、PostgreSQL、Oracle等。

JDBC(Java DataBase Connectivity):Java数据库连接。在Java应用中,我们使用JDBC提供的标准API访问DBMS。一共有4类JDBC驱动。

DBCP(DataBase Connection Pool):数据库连接池。

a9945b08971933c0b2883c8d01cdc06e.png

1、建立数据库连接

MySQL JDBC为例

connectTimeout:建立连接的超时时间。

  • 单位毫秒。
  • 默认0,表示无限。

socketTimeout

  • 单位毫秒。
  • 默认0,表示无限。

配置方式

2、从连接池取连接

Tomcat JDBC为例

maxWait:当没有可用连接&已达到最大活跃连接数(maxActive)时,连接池等待连接被归还的最大时间, 超过时间则抛出异常。

  • 单位毫秒。
  • 默认30000。

3、验证获取的连接

Tomcat JDBC为例

validationQueryTimeout:连接验证失败前的超时时间。通过在执行 validationQuery 的语句上调用 java.sql.Statement.setQueryTimeout(seconds) 来实现。池本身并不会让查询超时,完全是由 JDBC 来强制实现。若该值小于或等于 0,则禁用该功能。

  • 单位秒。
  • 默认-1。

4、发送statement到数据库

5、读取查询结果

参考资料

https://brightinventions.pl/blog/database-timeouts/

https://www.cubrid.org/blog/understanding-jdbc-internals-and-timeout-configuration

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值