有一个用户表:id,name,pid。用户A下面可能有N个B,每个B下面有N个C,以此类推,如何查询用户A所有的下级。我知道MySQL8有一个with功能,如果不用数据库特性就要递归查询,有没有其他的解决方案?比如clickhouse有没有类似功能?性能如何?
有一个用户表:id,name,pid。用户A下面可能有N个B,每个B下面有N个C,以此类推,如何查询用户A所有的下级。我知道MySQL8有一个with功能,如果不用数据库特性就要递归查询,有没有其他的解决方案?比如clickhouse有没有类似功能?性能如何?
3 回答1.6k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
3 回答1.6k 阅读
2 回答955 阅读✓ 已解决
MySQL 8 的 CTE(with) 也只是把代码中的递归拿到了数据库去执行而已。
对于这类场景,更加建议配上 Nested Set Model 来存储,把递归查询变成 range。