首页 新闻 会员 周边 捐助

菜鸟求教一个数据库设计的问题。

0
悬赏园豆:50 [已关闭问题]

我想设计出一个腾讯评论的功能。可是就是感觉他的回复机制越想越觉得迷糊。

我呢有两种思路。

第一种呢是,将整个回复信息写死,就是说三个人的回复内容都写到一条记录内。不过这样的话用户信息没有办法进行更新。

第二种呢,就是建立那种树型的数据形式。每一条记录都会附上一个father字段。这样就可以很好地保证了数据的完整性。可是问题就好了。每次取数据的时候该如何效率最高的筛选操作呢?。不断地遍历父记录?如何进行排序呢。如果取部分数据呢。真是越想越头大啊。望高手不啬赐教!~。

飘扬的主页 飘扬 | 初学一级 | 园豆:45
提问于:2010-05-23 22:00
< >
分享
其他回答(4)
0

用第二种:当然有个rootid ,数据肯定要一次全部取出,服务端分析递归结果集可能还是有点耗时,不过可以交给客户端js解析好些

LittlePeng | 园豆:3445 (老鸟四级) | 2010-05-23 22:41
所以就是纠结于用何种结构以达到最快递归结果集了。。。
支持(0) 反对(0) 飘扬 | 园豆:45 (初学一级) | 2010-05-24 09:27
0

第二中方式是比较合理的

西越泽 | 园豆:10775 (专家六级) | 2010-05-23 23:24
0

肯定是采用第二种,如果结构没有问题,大可一次把father的数据都读出来,并附加上排序字段信息,传到客户端以后利用JS进行排序,让客户端分担服务器的压力。

Astar | 园豆:40805 (高人七级) | 2010-05-24 07:12
您是说使用AJAX提取子信息?这个好像也不是最完美的做法,请求数量会很大的。客户端可能会有卡到的感觉。
支持(0) 反对(0) 飘扬 | 园豆:45 (初学一级) | 2010-05-24 09:28
@飘扬:我指的是全部取出来,子信息和父信息,而排序和格式由客户端JS处理。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-05-25 15:59
0

优良的表结构可以避免此类问题。

另外CTE也是一种解决方案

http://www.cnblogs.com/downmoon/archive/2009/10/23/1588405.html

邀月 | 园豆:25475 (高人七级) | 2010-05-24 08:33
0

第二种比较好

凌未风 | 园豆:395 (菜鸟二级) | 2010-05-26 18:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册