首页/数据/数仓建模速查/路径列:层级查询的物化方案
维度与事实设计149 条

路径列:层级查询的物化方案

把从根到当前节点的 ID 路径物化成字符串列(如 /1/12/103/),用 LIKE 前缀或拆分即可完成子树查询与层级聚合。

数仓建模速查数据更新于 2026-10-12
形态/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 含分隔符时拆分失真

数据来源与参考

  • 数仓建模实践:层级路径物化
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌