锁定老帖子 主题:这样的需求该不该用一对多设计,主要考虑性能
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-05
呵呵.我也有同样的疑惑.
我真的怀疑配置成一对多是否真的那么有用?!我现在只配多对一. |
|
返回顶楼 | |
发表时间: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 |
|
返回顶楼 | |
发表时间:2007-06-05
论坛是一个并发量比较大的东东,我觉得这东西不能够太强调OO,还是性能优先
在Hibernate中,我一般不做1:n, 儿子一多,就需要分页,做了等于没做 |
|
返回顶楼 | |
发表时间:2007-06-05
OO不OO和配置1:n没绝对关系吧。你在论坛版块里保留个topics属性,在dao或者service里用hql查询了set到这个topics里,对外部调用来说,不还是所谓OO的……
不可能在一个版块里载入全部的主题吧,估计服务器受不了这折腾…… 论坛里版块,主题的前几页做好缓存,论坛搜索部分使用全文搜索而不是数据库查找,数据库应该能撑下来…… |
|
返回顶楼 | |
发表时间:2007-06-08
一定要用hibernate吗?
|
|
返回顶楼 | |
发表时间:2007-06-15
映射一对多的关系,可实现lazy加载,并且大数据text也可以实现lazy加载,在获得这个属性的时候再加载进来。
|
|
返回顶楼 | |
发表时间:2007-06-16
其实也可以设置这样的一对多关系,但是永远不去加载它,而只在查询语句的条件中作为逻辑关系来使用,如:select distinct p from Parent p where p.children.name = ?
|
|
返回顶楼 | |
发表时间:2007-06-16
歆渊 写道 有一种可能是网站规模不是那么大, 现在内存很便宜, 假如所有数据在物理内存都放得下的话, 全部配成级联, 分页直接用集合方式做, 不查数据库, 会是一个运行效率最高, 开发成本最低的方案.
假设每条帖子平均占2K内存, 那么20G内存可以容纳一千万帖子, 在这个范围之内, 64G内存的服务器跑起来应该没有问题. 机器不死,虚拟机也该给呛死了。 |
|
返回顶楼 | |