用proxool连接池关闭连接注意事项
2014-01-08 16:25
155 查看
问:
用CONNECTION创建了 PREPAREDSTATEMENT ,用完了PREPAREDSTATEMENT 后,没有关闭PREPAREDSTATEMENT ,而是直接 CLOSE CONNECTION ,这么做有什么隐患吗?
答:
如果没有使用数据库连接池,而是每次创建物理连接,然后释放的话,没有什么问题。close Connection的时候已经把数据库资源完全释放掉了,PreparedStatement占用的数据库游标也会随即释放。但是大部分情况读写数据库都会采用数据库连接池来提高连接效率,在这种情况下有潜在的隐患。 因为数据库连接池中拿到一个Connection,close的时候不是真正关闭连接,释放数据库资源,而是把连接归还给连接池。因此在这种情况下,close了Connection,但是PreparedStatement并没有被释放掉,占用的数据库游标仍然处于打开状态。因此在大数据访问量的情况下很容易出现数据库游标使用到最大,无法分配游标错误。
用CONNECTION创建了 PREPAREDSTATEMENT ,用完了PREPAREDSTATEMENT 后,没有关闭PREPAREDSTATEMENT ,而是直接 CLOSE CONNECTION ,这么做有什么隐患吗?
答:
如果没有使用数据库连接池,而是每次创建物理连接,然后释放的话,没有什么问题。close Connection的时候已经把数据库资源完全释放掉了,PreparedStatement占用的数据库游标也会随即释放。但是大部分情况读写数据库都会采用数据库连接池来提高连接效率,在这种情况下有潜在的隐患。 因为数据库连接池中拿到一个Connection,close的时候不是真正关闭连接,释放数据库资源,而是把连接归还给连接池。因此在这种情况下,close了Connection,但是PreparedStatement并没有被释放掉,占用的数据库游标仍然处于打开状态。因此在大数据访问量的情况下很容易出现数据库游标使用到最大,无法分配游标错误。
相关文章推荐
- 使用proxool连接池 ,连接没有关闭的原因
- tcp连接关闭详解和注意事项
- java连接mysql数据库注意事项
- Salesforce Dataloader 命令行连接数据库以及导入导出数据常见注意事项
- VMWARE虚拟机CentOS使用NAT方式连接外网注意事项 自己mark一下
- Oracle11g创建、连接数据库的注意事项
- 如何不用oracle client直接使用plsql远程连接oracle数据库以及需要注意的事项
- 数据库连接时的查询条件注意事项
- eclipse与hadoop连接注意事项
- 通过串口给ESP8266发送AT指令连接wifi的注意事项
- 数据库连接查询时的注意事项
- PHP 连接 MSSQL用port时候的注意事项
- hive jdbc 连接 注意事项
- C# 使用OLEDB连接Excel注意事项
- 控Proxool连接池的活动连接变化情况
- 关于完成端口IOCP异步接收连接函数AcceptEx注意事项 (转)
- DNS配置注意事项 正在连接网络
- Java连接hadoop注意事项及实例
- 关于Android 5.0 、6.0 、 7.0代码设置WIFI连接方式为静态IP或DHCP的方法及注意事项
- linux连接internet前的注意事项