美文网首页
了解数据库连接池

了解数据库连接池

作者: jyhnp | 来源:发表于2020-12-25 14:26 被阅读0次

一、为什么要用连接池

每次操作数据库,需要先获取连接(socket通道),频繁的操作会不断地获取连接,获取连接的时间可能还大于sql执行时间,重复的这样操作,效率很低;

连接池说白了,就是提前创建好多个连接,当执行数据库操作就拿一个连接直接用,用完再放回去,不需要创建连接的时间;

二、连接池有那些框架

1.DBCP (Database Connection Pool)

是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。

2.C3P0

是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

3.Proxool

是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能

4.BoneCP

是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。

5.Druid

druid为阿里巴巴的数据源,(数据库连接池),集合了c3p0、dbcp、proxool等连接池的优点,还加入了日志监控,有效的监控DB池连接和SQL的执行情况。

  1. HikariCP

快速,简单,可靠。HikariCP是“零开销”生产就绪的JDBC连接池。库大约为130Kb;
Springboot2.0后默认HikariCP连接池;

各种数据库连接池性能对比

  1. Druid是性能最好的数据库连接池,tomcat-jdbc和druid性能接近。

  2. proxool在激烈并发时会抛异常,完全不靠谱。

  3. c3p0和proxool都相当慢,慢到影响sql执行效率的地步。

  4. bonecp性能并不优越,采用LinkedTransferQueue并没有能够获得性能提升

  5. HikariCP追求性能,Druid追求监控,各有好处

相关文章

  • 数据库连接池之C3P0

    数据库连接池之C3P0 前言 在上一小节中,我们接触了数据库连接池的,了解了数据库连接池的作用,并且通过小案例使用...

  • java基础-day36-数据库连接池和HTML

    数据库连接池和HTML 1. 数据库连接池 1.1 为什么要使用数据库连接池 1.2 数据库连接池考虑的问题 1....

  • 数据库连接池DBCP的使用

    我们常用的数据库连接池 除了C3P0还有DBCP 今天我们就来了解一下 DBCP数据库连接池 DBCP(DataB...

  • 撩课-JavaWeb之什么是连接池与连接池使用

    什么是连接池 没有连接池的情况 数据库连接池 池 连接池 作用 数据库连接池 示意图 连接池中的属性 连接池使用 ...

  • JDBC Druid数据库连接池

    Druid数据库连接池 使用Druid数据库连接池技术

  • 《深入浅出MySQL》23章<应用优化>读书笔记

    1:使用数据库连接池 什么是数据库连接池?数据库连接池(Connection pooling)是 程序启动时 建立...

  • 数据库连接池,wtforms的使用

    目录 数据库连接池pymsql链接数据库数据库连接池版 wtforms的使用使用1使用2 16.数据库连接池 py...

  • 数据库连接池的设置

    数据库连接池 几乎所有的商业应用都有大量数据库访问,通常这些应用会采用数据库连接池。理解为什么需要连接池,连接池的...

  • DBCP

    分类说明名称DBCP全称Database Connection Pool功能数据库连接池 连接池 数据库连接池是一...

  • 连接池

    1.数据库连接池原理? 1.1 什么是数据库连接池? 个人觉得了解一个技术首先要清楚它的出现解决了什么样的问题 ,...

网友评论

      本文标题:了解数据库连接池

      本文链接:https://www.haomeiwen.com/subject/vpsvgktx.html