一对多 SSH查询文章特别慢

BLOODKINGMARS 2010-01-05 10:46:36
本人博客系统里用hibernate做了一对多的查询,post为主表,comment为附表。
我做的通过分类查询post列表,结果点了三次左右系统响应不了请求了
①我的映射文件都用了lazy=false
②我的查询数据量比较小,一个分类查询得到的5条post,一条post对应6条commemnt左右,查询三次就没有响应了
③myEclise6 + tomcat+mySql 5.0 开发环境
④页面上分类列表是在页面上<jsp:include page="/XX.do"/>这种方式处理的,页面框架用的sitemesh
请问我要从哪方面着手排错?

...全文
138 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
handsome_huxiulei 2010-01-07
  • 打赏
  • 举报
回复
不懂..
BearKin 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bloodkingmars 的回复:]
主要有两个问题:①是查询主表时,自己查询子表的数据,查询量大  ②用sitemesh以后,副页的jsp:include里面的数据库查询非常频繁,导致性能变低

不知道能不能实现,在action里面控制PO是否延迟加载?
针对②,我去掉sitemesh以后,单个页面的使用,性能还是比较正常,难道我一直把list放在session里面吗?这样项目大了可能不是太好
[/Quote]

控制延迟加载的话 首先延迟加载的属性必须设置为TRUE 然后通过某个方法在查询出来的时候根据是否延迟加载而使用那个属性(使用了也就不延迟加载了....)

不明白你为什么要把List放到SESSION中 我还是建议 不用一对多的方法查询数据 可以单查嘛.. 既然是两个页面 那就查两次好了 为什么非得用SESSION呢?
BLOODKINGMARS 2010-01-06
  • 打赏
  • 举报
回复
你好,我将sitemesh取消后,性能会好一些,我在相应的页面里使用了<jsp:include page="/XX.do"/>生成list
我想可能有可能是同时请求的hibernate操作过多,或是多个页面有逻辑错误

我调用 副页面的语句: <page:apply-decorator name="footer"></page:apply-decorator>
BLOODKINGMARS 2010-01-06
  • 打赏
  • 举报
回复
主要有两个问题:①是查询主表时,自己查询子表的数据,查询量大 ②用sitemesh以后,副页的jsp:include里面的数据库查询非常频繁,导致性能变低

不知道能不能实现,在action里面控制PO是否延迟加载?
针对②,我去掉sitemesh以后,单个页面的使用,性能还是比较正常,难道我一直把list放在session里面吗?这样项目大了可能不是太好
BLOODKINGMARS 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 crazylaa 的回复:]
引用 4 楼 bloodkingmars 的回复:
网上也有 siteMesh 与 jsp:include 冲突的情况,和我现象差不多,也没有解决方法

sitemesh 没用过啊。既然有冲突,那就去掉,看看性能怎么样。像上面得那种数据量得两表联查,hib还是比较快得。
[/Quote]

sitemesh去掉以后,性能好很多,应该是数据库同时查询的数据量降低了,因为,没有用sitemesh以后,一次查询数据的条数少了很多,

BLOODKINGMARS 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 bearkin 的回复:]
查询的时候都做了些什么.. 所有的都是LAZYFALSE?..你这个POST跟其他的东西有关联么?

多的那一方我觉得还是手查比较好..
[/Quote]
post与comment做了关联,一对多
crazylaa 2010-01-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bloodkingmars 的回复:]
网上也有 siteMesh 与 jsp:include 冲突的情况,和我现象差不多,也没有解决方法
[/Quote]
sitemesh 没用过啊。既然有冲突,那就去掉,看看性能怎么样。像上面得那种数据量得两表联查,hib还是比较快得。
BearKin 2010-01-06
  • 打赏
  • 举报
回复
查询的时候都做了些什么.. 所有的都是LAZYFALSE?..你这个POST跟其他的东西有关联么?

多的那一方我觉得还是手查比较好..
BLOODKINGMARS 2010-01-06
  • 打赏
  • 举报
回复
网上也有 siteMesh 与 jsp:include 冲突的情况,和我现象差不多,也没有解决方法
crazylaa 2010-01-05
  • 打赏
  • 举报
回复
不响应?报错没?
看看是不是数据库连接的问题。
mysql可用连接多少?连接池又设的多大?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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