数据库连接池有什么用?它有哪些关键参数?

首先,数据库连接池是一种池化技术,池化技术的核心思想是实现资源的复用,避免资源重复创建销毁的开销。而在数据库的应用场景里面,应用程序每次向数据库发起 CRUD 操作的时候,都需要创建连接.在数据库访问量较大的情况下,频繁的创建连接会带来较大的性能开销。

连接池

而连接池的核心思想,就是应用程序在启动的时候提前初始化一部分连接保存到连接池里面,当应用需要使用连接的时候,直接从连接池获取一个已经建立好的链接。连接池的设计,避免了每次连接的建立和释放带来的开销。

连接池参数

连接池的参数有很多,不过关键参数就几个:

  • 初始化连接数,表示启动的时候初始多少个连接保存到连接池里面。
  • 最大连接数,表示同时最多能支持多少连接,如果连接数不够,后续要获取连接的线程会阻塞。
  • 最大空闲连接数,表示没有请求的时候,连接池中要保留的最大空闲连接。
  • 最小空闲连接,当连接数小于这个值的时候,连接池需要再创建连接来补充到这个值。然后,就是在使用连接的时候的关键参数:
  • 最大等待时间,就是连接池里面的连接用完了以后,新的请求要等待的时间,超过这个时间就会提示超时异常。
  • 无效连接清除, 清理连接池里面的无效连接,避免使用这个连接操作的时候出现错误。

总结

不同的连接池框架,除了核心的参数以外,还有很多业务型的参数,比如是否要检测连接 sql 的有效性、连接初始化 SQL 等等,这些配置参数可以在使用的时候去查询 api文档就可以知道。

相关推荐
oradh15 分钟前
Oracle Undo问题总结(两类Undo表空间不足和单个会话占用大量Undo的性能问题)
数据库·oracle
企业数字化笔记20 分钟前
固定资产财务账与实物账怎么对账?折旧快照、差异检测与SQL核对
android·数据库·sql
DBA_G35 分钟前
GBase 8a表空间多路径存储数据迁移链路适配解析
数据库·oracle
java1234_小锋38 分钟前
Tornado 6.5,全面支持 Python 3.14
数据库·python·tornado
jyOverQ44 分钟前
MySQL 事务到底是什么?ACID 四大特性与隔离级别怎么理解?
数据库·mysql
SelectDB1 小时前
Doris 直查 Paimon 索引:快手湖上向量检索的共建与落地
大数据·数据库·数据分析
风123456789~1 小时前
【Oracle专栏】全局 && 本地复合索引 实验
数据库·oracle
1314lay_10071 小时前
通过Sql Server创建EXCEL文件:master..xp_cmdshell
数据库·excel
zzzll11112 小时前
用 DeepSeek Harness 手搓一个自己的 Agent
数据库
名字还没想好☜2 小时前
Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制
java·数据库·后端·python·spring