mysql递归 从下往上_MySQL递归?

另一个选择是既存储节点的深度,又保留每个节点的完整路径的标识符,并将这两个都用作准则。

我将XML节点存储在关系数据库中的方式如下:

SELECT id,value FROM element e1

INNER JOIN element e2 ON (e2.id=e1.parent_id AND name='friend')

WHERE e1.depth>4 AND e1.path like 'root[1]/users[1]/user:dana[1]/public[1]%'

在此示例中,我在树中的每个级别上都有一个节点名称字段和一个方括号括起来的重复符,该重复节点具有相同的节点名称。

当您插入每个节点时,您必须通过跟随父节点到根节点(parent_id IS NULL)来计算完整路径,将每个级别附加到数组上,同时存储路径的深度。

在数据库中存储的任何类型的层次结构中,始终具有可视化的表示形式并易于访问任何路径总是一件好事,因为在每个请求上遵循树都可能代价高昂,尤其是对于没有任何直接递归SQL语法的mysql而言。

在我看来,将节点存储在层次结构中的左/右方案(嵌套集邻接表)在我看来太危险了,这种方案可能会出错,因为它管理起来非常复杂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值