web———数据连接池的工作机制是什么?

1.数据库连接池属于创建时间昂贵,并且数量有限的资源。如果每次执行sql时都创建新的连接,使用完即刻关闭连接,不仅会造成资源的浪费,而且在并发量大的情况下还会拖慢甚至拖垮数据库。(测试得出结果单独线程创建数据库创建时间远远大于执行时间)

2. 因此需要使用连接池的概念:预先创建好一批数据库连接放入池,每次执行sql时只需要从池中借取一个空闲的连接使用,使用完毕不再关闭连接,而将其还回连接池,以实现连接对象的重用。(例如饭馆服务员与顾客的关系,10 个服务员服务所有顾客,不需要一个顾客服务一个顾客)

3. java中连接池被抽象为javax.sql.DataSource接口,一些java ee容器本身就提供了连接池的功能实现,也可以使用第三方的连接池实现,如c3p0,druid等。

总结:数据库连接池的优点:

  • 资源重用,不用每次都创建新的连接,节省了大量时间,提高了响应速度。
  • 统一连接管理,避免数据库连接泄露(每次用完连接,自动回收,连接池理论上不用关闭,减少了创建单个连接时要关闭资源的步骤。)
  • 高并发情况下,可以同时执行多个连接

猜你喜欢

转载自blog.csdn.net/qq_42689450/article/details/83065396