我设计数据库是这样,但是有一个严重的问题,当盖楼比较高的时候,这时候用的是递归算法,会很耗资源
不晓得大家是怎么做的?
create table ArticleComment(@ID int, --标识列@PID int, --回复ID@ArticleID int, --文章ID@Content ntext, --内容@IP nvarchar(50), --IP@AddDate DateTime --留言时间)
评论标识、文章标识、用户标识、评论内容、父级标识、层级结构
这样的设计就可以,不用遍历,需要程序查询所需和前端做必要的处理合并就可以达到效果。
只会递归,关注一下。
不要递归!
最简单的办法就是:复制前面回复,附加上新的,一同放入 Content 中。
Content 要足够大,足以放下所有的楼层。
这样做有两个缺点:
1. 占用空间大
2. 前面的回复后修改后,后面的不好更新
博客园的回复就是这样做的,你可以试下。
如这个:http://www.cnblogs.com/ldp615/archive/2011/07/13/dot-net-4-parallel-sum-is-not-effective.html#2150950