询问关于Java数据库连接池的一个操作时间 数据库连接池jdbc 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有什么实质差异,J2EE 的连接池与事务管理之间有绑定关系。我们只要设置连接池是共享式的就可以了。1、一个物理连接是不可能同时工作在超过1个事务中的。2、在同一个事务内,我们多次打开和关闭连接实际上它背后的物理连接并没有跟着频繁地打开关闭,它们是共享的,在同一个事务中能无条件地共享,也应该共享(否则你刚改一个表的数据再来 select 却被锁定不就成了一个笑话)。在一个事务内多次打开和关闭没有多大性能损失,但代码的条理性更好,这是推荐的。如果每次都自己手工去拿连接,然后当成参数传递在各个方法调用之间就导致程序设计变复杂了,而且有时候还会稿错事务绑定,因为它要求你传递的参数在指定的方法中也确实与它是同一个关联事务,如果这是在 EJB 中就变得复杂了,容易出错,因为这相当于你也像 EJB 容器一样地在跟踪 J2EE 组件的当前事务绑定,而这本来应该是对应用程序透明的部分。 是不是说,直接使用C3P0连接池,就能达到你说的这个好处(共享连接)如果只是用裸JDBC,还会有你说的这种效果吗? 如果尽量在一个连接内解决所有事情,会不会更快。Magical茏 我测试对比了一下查询所有用户信息,还需要在其他3个表中查询该用户cityId、provinceId,roldId对应的显示名称web服务器在本机+DB服务器在远端1.不加数据库连接池+误用的程序逻辑(对每个用户的每个cityId、provinceId,roldId分别建立一次conn,然后关闭)大概用时15s,不能忍2.用了连接池+误用的程序逻辑降到3325ms3.用了连接池+正确的程序逻辑(一条sql语句+left join)降到了456实验表明:连接池确实可以大幅降低获取连接的时间,但是也不能弥补误用程序逻辑带来的性能问题。优化可以在两个方面进行考虑,数据端和编程端。 1.15s的确是执行时间加连接时间(主要数据库和Web服务器不在一台机器,要在公网上跑)2.我确定也是执行时间加连接时间3.一条sql语句+left join,就只有一次数据库连接。即使不用连接池,也不会有多慢。谢谢大家关注 求weblogic10.3.3的下载地址 Socket 编程问题 求助解决错误问题!! 帧回调函数 java 菜鸟问题 JCreater安装与系统时间 哪里有J2ME视频教程? 好心人给我介绍个类似exe4j打包的东西嘛,exe4j开始弹出的东西真的很烦。 在使用java绘图时,最小化以后再打开图形不见了,应该怎么解决这个问题? 请问怎样在HTML页面中文本内容指定位置插入另一段文本或HTML标注?怎样实现? 帮帮我好么? java jpanel中如何导入一个绘制好的矢量图,实现放大缩小,移动 JAVA线程问题
我们只要设置连接池是共享式的就可以了。1、一个物理连接是不可能同时工作在超过1个事务中的。
2、在同一个事务内,我们多次打开和关闭连接实际上它背后的物理连接并没有跟着频繁地打开关闭,它们是共享的,在同一个事务中能无条件地共享,也应该共享(否则你刚改一个表的数据再来 select 却被锁定不就成了一个笑话)。在一个事务内多次打开和关闭没有多大性能损失,但代码的条理性更好,这是推荐的。如果每次都自己手工去拿连接,然后当成参数传递在各个方法调用之间就导致程序设计变复杂了,而且有时候还会稿错事务绑定,因为它要求你传递的参数在指定的方法中也确实与它是同一个关联事务,如果这是在 EJB 中就变得复杂了,容易出错,因为这相当于你也像 EJB 容器一样地在跟踪 J2EE 组件的当前事务绑定,而这本来应该是对应用程序透明的部分。
查询所有用户信息,还需要在其他3个表中查询该用户cityId、provinceId,roldId对应的显示名称
web服务器在本机+DB服务器在远端
1.不加数据库连接池+误用的程序逻辑(对每个用户的每个cityId、provinceId,roldId分别建立一次conn,然后关闭)
大概用时15s,不能忍
2.用了连接池+误用的程序逻辑
降到3325ms
3.用了连接池+正确的程序逻辑(一条sql语句+left join)
降到了456实验表明:连接池确实可以大幅降低获取连接的时间,但是也不能弥补误用程序逻辑带来的性能问题。优化可以在两个方面进行考虑,数据端和编程端。
2.我确定也是执行时间加连接时间
3.一条sql语句+left join,就只有一次数据库连接。即使不用连接池,也不会有多慢。谢谢大家关注