日期:2014-05-17  浏览次数:20633 次

类似qq空间的无限回复功能实现
帖子表    tiezi_tb

描述        字段名   类型   空值 其他
帖子表id         tiezi_id           int           主键
帖子标题 tiezi_name   varchar2(50)     not null
发帖人       user_id   int              外键
帖子内容         tiezi_content      varchar2(2000)   not null
……

回复表    huifu_tb
描述        字段名   类型   空值 其他
回复id              huifu_id             int                    主键
回复内容           huifu_content   varchar(500)    not null
写回复人           huifu_user        int                     外键
回复针对的帖子 tiezi_id             int                     外键
回复针对的回复 huifu_huifuid   int                       (用回复表中的id,一楼为零)
……

本人菜鸟,做论坛时涉及到回复问题,个人是这么想的,高人你怎么看??求指教!
QQ空间 论坛 无限回复?

------解决方案--------------------
帖子表和回复表宜合并成一个表,分表的话虽然帖子表字段少1、2个。但关联查询并不迅速
你采用的是邻接列表算法的数据结构,读取起来需要递归。不利于快速展示
建议你采用左右值算法的数据结构,虽然要多一个字段,插入时也稍嫌麻烦。但最大的优势就是读取快速