连接池

来源:互联网 发布:开淘宝店铺照片要求 编辑:程序博客网 时间:2024/06/07 05:11

         频繁的数据库连接操作势必占用很多的系统资源,响应速度必定下降。程序出现异常而未能关闭,将会导致数据库系统中的内存遗漏,最终将不得不重启数据库。系统资源被毫无顾忌的分配出去,如果连接过多,也可能导致内存遗漏,服务器崩溃。

连接池的工作流程

为数据库建立一个缓冲池。预先在缓冲池中放入一定数量的连接,当需要建立连接时,只需要从缓冲池中取出一个,使用完毕在放回去,通过设定连接池最大连接数来防止系统无休止的数据库连接。更为重要的是可以通过连接池的管理机制监视数据库的连接的数量,使用情况,位系统开发,测试及性能调整提供依据。

连接池的工作流程:

持久层向连接池申请一个链接。连接池返回一个空闲连接,如果没有空闲连接,那就检查连接池中的连接数量是否到达最大连接数量。如果没有到达最大连接数,则建立新的连接对象放入连接池中。如果连接池最大连接数量,那么用户就需要等待。这是可以设置最大等待时间来控制用户的等待状态。等待时间内,有别的连接对象释放,那么就分配等待用户。如果超时就返回null

Hibernate常见的优化策略

用高版本的hibernate

制定合理的缓存策略

采用合理的session管理机制

尽量使用延迟加载

如有可能,采用UUID作为主键生成策略

如果可能,选用乐观锁代替悲观锁

在开发中,显示hibernate执行sql语句,从而指定更好的实现策略

复杂查询和统计时可以使用sql语句完成。甚至可以考虑使用存储过程完成

0 0
原创粉丝点击