论坛首页 Java企业应用论坛

这样的需求该不该用一对多设计,主要考虑性能

浏览 9808 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-05  
呵呵.我也有同样的疑惑.

我真的怀疑配置成一对多是否真的那么有用?!我现在只配多对一.
0 请登录后投票
   发表时间:2007-06-05  
JavaFlasher 写道
引用
你说得对,之前我没有仔细看,其实发贴得内容和回复得性质是一样得,楼主原先得设计确实不合理,但是楼主后来得方案2确实还是不合理,呵呵,比较合理得做法是表得设计采用dada得方案



  good idea!



还希望大家再讨论一下  1:n 中 儿子特别多 时候 还要有分页可能时, 是否还有必要配成 1:n

比如 论坛栏目 和 栏目下的主题

1个栏目下有 10000个主题, 如果配成 1:n主要从3个页面角度考虑,


1 : 显示所有栏目

2 :显示某个栏目下的主题 (带分页)

3: 删除某个栏目,(当然栏目没了,主题也不应该在存在于数据库中)


最后 :问 该不该配成 1: n  ( 当然lazy=true)

我发过一个贴,也是讨论这个的.可惜被投新手贴.
"1个栏目下有 10000个主题, 如果配成 1:n主要从3个页面角度考虑,"
你说的这个还是少的.我们做的系统,一个1可能对几万个多.所以我都不敢配成 1: n(即使lazy=true)
http://www.iteye.com/post/300951
0 请登录后投票
   发表时间:2007-06-05  
论坛是一个并发量比较大的东东,我觉得这东西不能够太强调OO,还是性能优先

在Hibernate中,我一般不做1:n, 儿子一多,就需要分页,做了等于没做
0 请登录后投票
   发表时间:2007-06-05  
OO不OO和配置1:n没绝对关系吧。你在论坛版块里保留个topics属性,在dao或者service里用hql查询了set到这个topics里,对外部调用来说,不还是所谓OO的……
不可能在一个版块里载入全部的主题吧,估计服务器受不了这折腾……
论坛里版块,主题的前几页做好缓存,论坛搜索部分使用全文搜索而不是数据库查找,数据库应该能撑下来……
0 请登录后投票
   发表时间:2007-06-08  
一定要用hibernate吗?
0 请登录后投票
   发表时间:2007-06-15  
映射一对多的关系,可实现lazy加载,并且大数据text也可以实现lazy加载,在获得这个属性的时候再加载进来。
0 请登录后投票
   发表时间:2007-06-16  
其实也可以设置这样的一对多关系,但是永远不去加载它,而只在查询语句的条件中作为逻辑关系来使用,如:select distinct p from Parent p where p.children.name = ?
0 请登录后投票
   发表时间:2007-06-16  
歆渊 写道
有一种可能是网站规模不是那么大, 现在内存很便宜, 假如所有数据在物理内存都放得下的话, 全部配成级联, 分页直接用集合方式做, 不查数据库, 会是一个运行效率最高, 开发成本最低的方案.

假设每条帖子平均占2K内存, 那么20G内存可以容纳一千万帖子, 在这个范围之内, 64G内存的服务器跑起来应该没有问题.


机器不死,虚拟机也该给呛死了。


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics