Lan*_*ard 6 sql database hierarchical-data transitive-closure-table
这个问题如何在sql中存储树结构?导致了用于存储在许多方面都是最佳的树的闭包表的想法。
问题是 SQL 中的图形结构是否有类似的东西。我看到了这篇论文,它似乎概述了一个图形索引结构,但它有点超出我的理解。想知道是否有一种方法可以创建一些辅助表来处理 SQL 中图形数据的常见查询。
我做了你链接到的演示文稿,有人问我如何用类似的方法实现一般图表,但我从来没有抽出时间来实现。
如果您有循环图,该技术当然会存在问题,除非您可以明确地识别“起始节点”。因为否则,如果您从循环中的任何节点开始,您将希望能够遍历图中的整个循环。
在 SQL 中使用递归 CTE 可能会更容易,但我最常使用 MySQL,它直到版本 8.0 才支持 CTE 语法。如果您确实具有递归 CTE 功能,那么最好使用它而不是闭包表,因为出现数据异常的可能性较小。
另一种选择是探索专门的图形数据库。对于 MySQL/MariaDB,有一个针对树和图查询进行优化的社区存储引擎:https://openquery.com.au/products/graph-engine
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |