MySQL-day06am

本文深入探讨了数据库连接池的重要性,分析了在高并发场景下如何通过预设连接数和最大连接数来优化数据库访问,避免资源浪费,提高执行效率。同时,文章详细解释了连接池的工作原理和关键参数设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么用连接池
-我们最初jdbc连接数据库需要 
1. 安装驱动 
2. 取得连接 
3. 打开窗口 
4. 书写语句、执行语句和查看结果 
5. 关闭到数据库的连接 
其中1,2和5完全可以重用,这样就加快了执行。也即: 
 同一个连接可以打开多个窗口 
 同一个窗口可以多次执行语句 
我们发现jdbc连接数据库时对于同一个项目来说,如果每次操作数据库的话,每一次查询添加…,使用上面的方法就是要建立多次数据库连接,而每一次获得连接对于Java代码来说都是重复动作,不仅占用了空间,而且在执行效率上也产生了浪费

解决连接重用的方案分析 
我们想象火车站售票大厅的情况,平时客流比较少时,我们只开几个售票窗口,不管有没有顾客来买票:多时间处于空闲状态。在如节假日等高峰期,所有售票窗口都会启用。特别地,在春运这样的最高峰期,可能会有临时窗口。但临时窗口也不是无限制地多开,开窗口要耗费物力人力。这样在高峰期只能让客户等待长一点的时间。春运最高峰时排队,这个时间客户就需要等待。 
我们在重用数据库连接时也可以采用类似的方案。我们先打开一批连接等待客户使用(如同非高峰期我们开几个窗口) ,不管用没有客户使用。在高峰期到来时,我们可以多开几个连接让浏览器客户使用。如同春运一样不可能为了让每个人都有一个窗口服务,我们的数据库连接也不能无限开启(数据库连接要占用内存等资源,同时每个数据库能支持的并发连接数也不是无限的).在不能为需要的数据的客户立马服务时,只能让客户排队等待。如果用户一直无法得到一个连接对象时,就不要让用户无限期等待。 
从上面可以看出,我们重用连接的方案,需要提供以下信息: 
预先开启的连接数
能开启的最大连接数
一个连接要被多个客户使用,因而连接用完不能关闭
一个超时时间,如果超过这个时间,用户就无法获取连接而得到数据。 
在JDBC连接数据库的连接重用方案里,我们称为连接池。 
连接池中可以重用的包括Connection对象和Statement对象
连接池的作用及原理 
1. 预先开启的连接数 
2. 能开启的最大连接数 
3. 一个连接要被多个客户使用,因而连接用完不能关闭 
4. 一个超时时间,如果超过这个时间,用户就无法获取连接而得到数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值