数据库连接池
来源:互联网 发布:爱棋艺国际象棋软件 编辑:程序博客网 时间:2024/04/29 18:45
数据库连接池
频繁的数据库连接操作势必占用很多的系统资源,影响速度必定下降。程序出现异常而未能关闭,将会导致数据库体统中的内存泄漏,最终将不得不重启数据库。刺痛资源被毫无顾忌的分配出去,如果连接过多,也可能导致内存泄漏。服务器崩溃。
连接池的工作原理
为数据库连接建立一个缓冲池。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。通过设定连接池最大连接数来防止系统无休止的数据库连接。更为重要的是可以通过连接池的管理机制监视数据库的连接数量、使用情况、为系统开发、测试及性能调整提供依据。
连接池的工作流程
- 持久层向连接池申请一个连接。连接池返回一个空闲连接。
- 如果没有空闲连接,那么就检查连接池中的连接数量是否达到最大连接数。
- 如果没有到达最大连接数,则建立新的连接对象放入连接池。
- 如果到达最大连接数,那么用户就需要等待,这时可以设置最大等待时间来控制用户的等待状态。
- 等待时间内有别的连接对象被释放,那么就分配给等待用户。如果超时,那么返回null。
Hibernate常见的优化策略
- 用高版本的hibernate
- 制定合理的缓存策略
- 采用合理的session管理机制
- 尽量使用延迟加载
- 如有可能,采用UUID作为主键生成策略
- 如有可能,选用乐观锁代替悲观锁
- 在开发中,显示hibernate执行SQL语句,从而指定更好的实现策略
- 复杂查询和统计查询可以使用SQL语句完成,甚至可以考虑使用储存过程完成。
0 0
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- Day 1:VC++再学习
- 机器学习算法 --- 用Python原生码实现Logistic回归
- poj1284 Primitive Roots (欧拉函数)
- EditText afterTextChanged 中 使用setText输入法异常问题
- 数据库引擎优化顾问
- 数据库连接池
- POJ 3126 Prime Path (BFS)
- windows下android studio常见快捷键
- 【字符串5】左旋转字符串
- hdu 5778 算复杂度
- [OS复习]进程管理2
- UVA 11582 巨大数的斐波那契数列 (大数取模,幂取模,模的计算方法)
- 顺序建链表
- SHA1校验算法C语言实现