MySQL存储过程来订购一个链表



我有一个表,它表示一个链表

id | parent
1  | 1
2  | 1
3  | 2
4  | 3
...

我知道一个事实,mysql没有内置的查询树构建功能,但我想知道是否有人使用存储过程来执行这种排序。目前,我正在我的域代码中执行排序,但是由外部系统和性能读取的表在外部系统上是至关重要的,所以我想为它提供一个已经排序的列表,以避免使用其宝贵的CPU周期。

还在设计阶段,欢迎其他建议

MySQL没有像Oracle那样方便的START WITH / CONNECT BY语法,然而,你可能想看看这个链接,有人试图模仿MySQL中的相同功能。

我已经在2011年10月24日的DBA StackExchange中解决了这个问题:https://dba.stackexchange.com/questions/7147/find-highest-level-of-a-hierarchical-field-with-vs-without-ctes/7161#7161

在我的回答中,我包含了基于该问题的存储过程和示例数据。

试试吧!!

相关内容

  • 没有找到相关文章

最新更新