我想设计出一个腾讯评论的功能。可是就是感觉他的回复机制越想越觉得迷糊。
我呢有两种思路。
第一种呢是,将整个回复信息写死,就是说三个人的回复内容都写到一条记录内。不过这样的话用户信息没有办法进行更新。
第二种呢,就是建立那种树型的数据形式。每一条记录都会附上一个father字段。这样就可以很好地保证了数据的完整性。可是问题就好了。每次取数据的时候该如何效率最高的筛选操作呢?。不断地遍历父记录?如何进行排序呢。如果取部分数据呢。真是越想越头大啊。望高手不啬赐教!~。
用第二种:当然有个rootid ,数据肯定要一次全部取出,服务端分析递归结果集可能还是有点耗时,不过可以交给客户端js解析好些
第二中方式是比较合理的
肯定是采用第二种,如果结构没有问题,大可一次把father的数据都读出来,并附加上排序字段信息,传到客户端以后利用JS进行排序,让客户端分担服务器的压力。
优良的表结构可以避免此类问题。
另外CTE也是一种解决方案
http://www.cnblogs.com/downmoon/archive/2009/10/23/1588405.html
第二种比较好