Stack Overflow "Adjacency List Model vs Nested Set Model for MySQL hierarchical data?" 有个回答 https://stackoverflow.com/a/31642680/5008141 认为 Nested Set Model 过于复杂,推荐用 Recursive Common Table Expressions ,也就是楼上说的 Recursive CTE 。
tabris17
2022-06-28 14:23:32 +08:00
@kkkiio 这个“Nested Set Model”的优势是可以一条语句获取任意节点的全部子孙节点。适合树结构不庞大,且不会频繁修改插入的场景,比如栏目分类,部门组织什么的
banmuyutian
2022-06-28 14:25:13 +08:00
闭包表修改的时候麻烦点,查询的时候比较灵活
kkkiio
2022-06-28 14:52:12 +08:00
@tabris17 “一条语句”强调的是性能吗?感觉可以做个测试对比一下 Nested Set Model 和 Recursive CTE 的性能,个人猜测如果树结构不庞大,CTE 性能也不差