我想在mysql表中建模一个层次结构/目录,如下所示。您可以在表中看到我正在思考的模式。然而,我所说的目录将由100.000个元素组成,深度为5-10级。此外,我们将有一个标记池,目录中的每个元素都可以链接到一个或多个标记。所以我想知道是否有更好的方法。我读到,有些人决定设计不规范的高性能震动表,我也在评估这个案例。
ps:有些人使用多路树在编程语言级别上对此进行建模,因此如何在数据库中结束这个问题仍然存在。
hierarchy:
A
| -> 1
|->1
|->2
| -> 2
| -> 3
B
| -> 1
| -> 2
table:
___________________________
| id |element | father |
|---------------------------|
| 000 | A | null |
| 001 | 1 | 000 |
| 002 | 1 | 001 |
| 003 | 2 | 001 |
| 004 | 2 | 000 |
| 005 | 3 | 000 |
| 006 | B | null |
| 001 | 1 | 006 |
| 002 | 2 | 006 |
-----------------------------发布于 2011-07-28 13:11:39
一个非常快的等级树是一个嵌套的集合或一个凯子树,当你有一个MySQL存储引擎时,它有点像二叉树,或者赫夫曼树。缺点是代价高昂的删除和插入。其他RDBMS也支持递归查询。一般来说,我没有看到很多嵌套集。它似乎也很复杂,也是创建和维护的。当嵌套集太复杂且RDBMS不支持递归查询时,也会出现物化路径。
https://stackoverflow.com/questions/6859412
复制相似问题