web应用程序会不会应该读写数据库次数过多而崩溃?

luxx123 2004-12-31 02:35:48
程序是用struts+hibernate完成的,其中对数据库操作的次数比较多,其中有一个地方是要把一个size为100的list存入数据库,list中的每个对应一条记录,然后一个一个的读出来显示在页面上,一个页面显示一条记录。

程序开始运行的时候狠正常,但是运行时间长了,登陆的人多了以后,就会报错,有的时候是sqlexception IO异常等错误。

有的时候页面就无法显示了,要点浏览器的后退按钮,然后再进行操做就又可以正常显示了,这个是什么原因呢?
...全文
224 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Key 2005-01-18
  • 打赏
  • 举报
回复
我的 意思 就是 多 注意细节的 地方。 能少 创建 对象,就少创建 对象, 对于 不用的 对象 要尽快的 释放。 也就是 object = null; 让 GC 回收。

其他的 就是 如同别人 说得 一样啊 。 用连接池。 这个 是 资源池的一种 。就是把所有的 连接放到一个 Pool 中, 需要 链结的时候 ,可以向pool 申请 一个 链结。 池 来维护 具体的 链结的 管理工作。

在 你从 pool 中申请的时候 ,可以直接 getConnection(), 然后 简单的 调用 close() 就给你 把 连接池的 连接释放会 连接池。 具体 细节 你可以 找找 连接池的文章。 很多的。
tiannet 2005-01-17
  • 打赏
  • 举报
回复
不管插入多少条数据,
只要打开和关闭一次数据库连接就可以了。。。
为什么每插入一条数据就打开数据库连接呢?
yuanming007 2005-01-17
  • 打赏
  • 举报
回复
建立数据库连接是费时间的,直接影响效率,如果连接一次而不释放的话,可想而知连接的多了的后果啊,什么都是有限的啊,用数据库连接池就可以解决上术的两个问题。
luxx123 2005-01-17
  • 打赏
  • 举报
回复
lyqq(曾经是菜,现在还是菜!) 说的具体点啊!!
superman421 2005-01-01
  • 打赏
  • 举报
回复
web的重点也就是如何组织数据库了!它直接影响到系统的性能,仔细检查看看你的程序,对数据库的操作是否有所遗漏,特别是关闭数据库!
linghan2008 2005-01-01
  • 打赏
  • 举报
回复
对频繁读写数据库的程序最好使用连接池,而不是每次都连打开、关闭数据库连接。数据库连接是有限而宝贵的资源。
-------------------
我是菜鸟,能否说具体点儿啊?连接池是属于数据库一端还是应用程序啊?是不是用DataSource接口就可以实现??
pmaster 2005-01-01
  • 打赏
  • 举报
回复
不是很懂这个,但要UP上去给大侠看看!!
linghan2008 2005-01-01
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3571/3571420.xml?temp=.9177057

连接池问题,大家来看看,高分!!如果不想在Tomcat 中配置连接池该怎么办???
Key 2005-01-01
  • 打赏
  • 举报
回复
程序是用struts+hibernate完成的!!


楼主应该配置 连接池了吧。 不过,具体细节 还是要注意的。 不用 平白无故的就 创建对象,数据库的连接一定要 处理好。

我原来和别人一起写的一个东西就是这样,一个两个人 一点问题都没有。 人多了。 就老是出问题。。后来,我觉得不对 ,问她 连接怎么处理的。 她说 没有怎么处理啊。 就是用的时候 创建,不用了就 释放啊。

后来,,, 我看了 一下 她的程序部分, ,,呵呵, 居然,,, 难怪,,

我检查了一下服务器, 上线200- 人,数据库连接居然用到了 2000+ 。 知道为什么吧。哈哈。
eureka0891 2005-01-01
  • 打赏
  • 举报
回复
用连接池效率确实要高得多,
现在有很多提供的连接池,
不过我觉得你的程序主要是没关连接.

最好是把关闭资源的地方写在finally里
session.close()???是什么?
kadina 2004-12-31
  • 打赏
  • 举报
回复
查一下你的connection关闭的操作是不是放在finally里了,必须保证数据库连接在每次操作以后都会被关闭。
另外,如果你没有用连接池的话,那么尽快改成连接池。
dreamsky15 2004-12-31
  • 打赏
  • 举报
回复
对频繁读写数据库的程序最好使用连接池,而不是每次都连打开、关闭数据库连接。数据库连接是有限而宝贵的资源。
gks_cn 2004-12-31
  • 打赏
  • 举报
回复
一般不会的。估计多半是没有释放连接。
luxx123 2004-12-31
  • 打赏
  • 举报
回复
大师快帮帮我吧!!!!
luxx123 2004-12-31
  • 打赏
  • 举报
回复
我每次执行完操作都会用session.close()关掉数据库啊,为什么还是不行呢?
tomuno 2004-12-31
  • 打赏
  • 举报
回复
是不是可以考虑修改一下业务逻辑
没准效率会上来
opencsdn 2004-12-31
  • 打赏
  • 举报
回复
flyxxxxx 2004-12-31
  • 打赏
  • 举报
回复
你每次操作(包括出错时)都没有关闭数据库连接

81,092

社区成员

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

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