- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈计算机数据库连接池.pdf
信息产业 ·97 ·
浅谈计算机数据库连接池
卜振涛
(齐齐哈尔铁路工程学校 ,黑龙江 齐齐哈尔 161000)
摘 要:介绍了计算机数据库连接池,并分析了数据库连接池常见的一些问题。
关键词 :数据库接池;问题 ;维护
数据库连接通常都是一种非常关键的、有限的、昂贵的资源,尤 2.3事务处理问题:通常事务具有原子性,这就要求我们对数据
其是在多用户的网页应用程序中,它表现得更加突出。 库的操作必须要符合 “ALL—ALL—NOTHING”原则 ,也就是说对
1数据库连接池 于一组 SQL语句要么全做 ,要么全不做。但是,在 Java语言中,
数据库连接池在初始化时,它首先会创建一定数量的数据库连 Connection类本身就已经提供了对事务的支持,这样就可以通过将
接,而且它还会把它们放到连接池 中,这些数据库连接的数量通常 Connection的AutoCommit属性设置成 false,并在后面的实际应用中
主要是由最小数据库连接数来决定的。然后,不管这些数据库连接 再显式的调用它的rollback或 commit方法来实现事务的原子性的
是否被使用,数据库连接池一般都将会一直保证至少拥有这么多的 要求。但是,如果要对 Connection进行很高效的复用的时候,通常情
连接数。但是,它也有一个上连接上限,通常情况下,数据库连接池 况下 ,它还需要提供相应的事务支持机制,也可以采用每一个事务
的最大连接数则限定了这个连接池可能拥有的最大连接数。一旦应 独 占一个连接来实现,这样就可以大大降低事务管理的复杂性。
用程序向连接池请求的连接数超过这个最大连接数时,那么,这些 2.4连接池的分配与释放 问题:它通常情况下对系统的性能影
i青求都将会被添加到等待队列中。数据库连接池的最小连接数和最 响很大 ,因此,合理的分配与释放连接,不但可以提高连接的复用程
大连接数的设置都很重要,它们都会直接影响到数据库连接池的效 度 ,而且还能够降低建立新连接所需要的开销 ,同时还可以加快用
果,通常情况下都会考虑到以下一些因素: 户的访问速度。通常情况下,都是使用空闲连接池来对空闲的数据
1.1最小连接数 ,它通常是指数据库连接池一直保持的数据库 库连接进行管理 ,也就是说,它会把已经创建好 ,但是还没有被分配
连接的数量。因此,如果应用程序对数据库连接的使用量不是很大 出去的连接,根据创建的时间放到一个空闲池中。一旦用户请求一
时,将可能会有大量的数据库连接资源被浪费,从而会大大影响应 个连接时,系统首先会检查空闲池 内是否空闲连接,如果有的话,就
用程序的性能。 把那个建立时间最长的连接分配给用户;如果没有 ,则会检查当前
1.2最大连接数 ,它一般是指数据库连接池能申请到的最大连 连接池连接的数量是否达到了连接池可以允许的最大连接数max—
接数。所以,当数据库连接请求超过此最大连接数时,后面的数据库 Conn1,如果也没有达到的话 ,则可以新建一个连接 ,但是如果已经
连接请求都将会被加入到等待队列中,从而也会影响后面的数据库 达到,那么就需要再等待一段时间(timeout)。当在等待的时间内,如
操作,如果设置不当,也会大大影响应用程序的性能。 果有其他的连接被释放出来的话,也可以将这个连接分配给别的等
13 当最小连接数与最大连接数相差太大时,最先的连接请求 待的用户,但是当等待时间超过预定时间timeout时,通常都会返回
通常都会首先获利 ,后来的连接请求,如果当前连接数小于最小连 空值 (nul1)。通常情况下 ,系统对己经分配出去的,并且正在使用的连
接数的,实际上它也就是相当于建立一个新的数据库连接。同时,最 接会做一个计数 ,只有当它使用完之后 ,才一会被返还给空闲池。线
小连接数的数据库连接在使用完之后 ,它们并没有被立即释放出 程定时监测空闲连接的状态,虽然这样会花费一定的系统开销,但
来,它们通常都将会被放进连接池之中,并等待着下次的重复使用 是它可以保证较快的
文档评论(0)