| 形态 | /id/id/id/ 前缀 |
|---|---|
| 查询 | LIKE '/1/12/%' |
| 维护 | 节点移动时重写子树 |
子树与层级
子树与层级
SELECT * FROM dim_org WHERE path LIKE '/1/12/%';
-- 层级 = 路径中分隔符出现次数
SELECT org_id, length(path) - length(replace(path, '/', '')) - 1 AS depth FROM dim_org;路径列牺牲写成本换查询便利,节点移动后必须级联更新。
把从根到当前节点的 ID 路径物化成字符串列(如 /1/12/103/),用 LIKE 前缀或拆分即可完成子树查询与层级聚合。
| 形态 | /id/id/id/ 前缀 |
|---|---|
| 查询 | LIKE '/1/12/%' |
| 维护 | 节点移动时重写子树 |
SELECT * FROM dim_org WHERE path LIKE '/1/12/%';
-- 层级 = 路径中分隔符出现次数
SELECT org_id, length(path) - length(replace(path, '/', '')) - 1 AS depth FROM dim_org;