数据库连接池
来源:互联网 发布:淘宝模特怎么拍衣服 编辑:程序博客网 时间:2024/06/05 16:33
背景
如果是一个简单的应用,对于数据库的访问不频繁,当我们访问数据库时,就新建一个连接,用完后就关闭。这样不会带来性能上的明显开销。但是对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大降低系统的性能。
数据库连接池正是为了解决资源频繁分配、释放所造成的问题。它提供一套高效的连接分配、使用策略,最终目标是实现连接的高效和安全的复用。
是什么
连接池是创建和管理多个连接的技术。数据库连接池是在应用程序启动时,建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应在请求队列中排队等待。而且,应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。
当关闭操作时,连接并不是真正的关闭,而是返回到连接池中作为空闲连接在后面继续使用。
作用
有了连接池,我们就没必要直接与数据源打交道了,连接池在你的程序所在的机器内存,数据源不一定,并且数据源和连接池会保持一定数量的连接。这样我们访问数据库的时候,就不需要找数据源要连接,直接在本地内存中取得连接,可以提高程序的性能。
连接池的存在是为了效率,因为实例化一个连接很耗费资源,而连接又有可重用的特征,所以可以把一定数量的连接放在连接池里以提高效率
优点
1、资源重用
由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,另一方面也增进了系统运行环境的平稳性(减少内存碎片以及数据库临时进程/线程的数量)。
2、更快的系统响应速度
数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。此时连接的初始化工作均已完成。对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
3、统一的连接管理,避免数据库连接泄露
在较为完备的数据库连接池实现中,可根据预先的连接占用超时设定,强制收回被占用连接。从而避免了常规数据库连接操作中可能出现的资源泄漏。一个最小化的数据库连接池实现。
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 排序(1)---基础排序
- NetBeans与Tomcat 文件夹无效和127.0.0.1不是内部命令
- Python文本颜色设置
- php中header函数参数的Cache-control:private,no-cache,must-revalidate,max-age是使用方法!
- 【Redis】认识Redis
- 数据库连接池
- HDOJ 1005 Number Sequence
- SZE教你怎样正确得识别
- HEVC算法和体系结构:预测编码之帧内预测
- 史上最全最详细DOM 脑图
- OnGlobalLayoutListener获得一个视图的高度
- python多线程小爬虫之练练手
- Mint开机initramfs解决方案。
- 搜索练习8//hdu/problem4771 /Stealing Harry Potter's Precious/bfs+dfs较难的搜索题