引子:
场景:某读书网站,支持读者评论文章,并且对评论支持回复功能。设计的表如下:
问题点:你想获取一个评论下所有的评论信息?
将所有评论一次性取出、轮巡遍历,获取到所有数据。
日常常见的场景:
评论信息、组织架构、类目信息
临接表
直接在表中添加对应的parentId
临接表的删除会影响该树的上下相关联节点。查询子树,要遍历所有数据。效率低下。
路径枚举
查询路径的父节点简单,枚举所有路径。
嵌套集
记录节点的左右节点
闭包表
将任意具有祖先关系都记录到表中:
各个设计的优缺点