提高连接数据库的效率、减轻数据库服务器的负担

ybz3721 2003-09-15 08:23:57
一般在web应用到数据库时,调用Class.forName(sDBDriver).newInstance();建立新事务,有朋友建议将这个新事务的变量设成session级变量,这样在整个会话过程中只需建立一次,可以避免对数据库的重复操作。这种考虑对吗?

高手指点,在线等待。。。
...全文
119 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
allan1031 2003-09-15
  • 打赏
  • 举报
回复
Class.forName(sDBDriver).newInstance();
很不好的方法
还会产生无用的垃圾对象
数据池吧
dooluby 2003-09-15
  • 打赏
  • 举报
回复
连接池!!!!!
强烈建议,如果你不用连接池,那你会面临一个礼拜重新启动数据库服务器N次的问题。
dgyujingjun 2003-09-15
  • 打赏
  • 举报
回复
用连接池
asdlcj 2003-09-15
  • 打赏
  • 举报
回复
Class.forName(sDBDriver).newInstance();
这种方法应该淘汰!
很容易导致数据连接不上!
推荐用servlet连接池
再加入context中!
任何servelt都可以共享!
ybz3721 2003-09-15
  • 打赏
  • 举报
回复
连接池没有这方面的问题了?

不用连接池的话,连接变量保存是不是意味着连接打开?可以减轻服务器负担?
ybz3721 2003-09-15
  • 打赏
  • 举报
回复
接上:
保存包括建立连接/DriverManager.getConnection(url,user,password);
shaokun305 2003-09-15
  • 打赏
  • 举报
回复
用连接池。
fengjingyu 2003-09-15
  • 打赏
  • 举报
回复
我现在的做法就是只有一个servlet,任意从某个jsp到另一个jsp都要经过这个servlet,在这个servlet的初始化时通过Class.forName(sDBDriver).newInstance();建立数据库连接,在servlet结束时关闭数据库连接(此生命周期应该不是session吧)而通常我只需开了3到5个连接,请我这种方法和连接池比起来性能如何?
Tanmf 2003-09-15
  • 打赏
  • 举报
回复
*_*
yaray 2003-09-15
  • 打赏
  • 举报
回复
建议还是用连接池吧,原因:

如楼主所想,如果每个用户占用一个不释放的连接(假设此连接的生命期为session,不结束会话就不中断连接).那么同时有这样的用户200个甚至更多,那数据库服务器就会.....

而用连接池的话,你可以设置最大连接数(比如:100个),那么数据库服务器相对上面的情况会好得多。而且更好的情况是:你可以设置有效连接时间(连接在规定时间内不被使用,即消毁此连接),减少数据库服务器负担。

连接池作用:提高单个连接的利用率,减少数据库连接数量,从而达到减轻数据库服务器负担。(个人拙见,仅供参考 *_*)
squallzeng 2003-09-15
  • 打赏
  • 举报
回复
连接池,存储过程,当然现在新出来的JOD听说不错,但我没有玩过不,不知道楼主玩过没有?

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧