4

我正在寻找一个 Django 树库并尽我所能避免嵌套集(它们是维护的噩梦)。

邻接列表模型的缺点一直是无法在不诉诸多个查询的情况下获取后代。Postgres 中的 WITH 子句似乎是解决这个问题的可靠方法。

有没有人看过任何关于 WITH vs. Nested Set 的性能报告?我认为嵌套集仍然会更快,但只要它们处于相同的复杂性级别,我就可以吞下 2 倍的性能差异。

Django-Treebeard 让我很感兴趣。有谁知道他们在 Postgres 下运行时是否实现了 WITH 子句?

有没有人根据 WITH 子句从嵌套集切换?

4

2 回答 2

3

这是比较性能的另一个参考(但没有参考 django): http ://explainextended.com/2009/09/24/adjacency-list-vs-nested-sets-postgresql/

邻接表 vs. 嵌套集:PostgreSQL (Quassnoi) 鉴于上述情况,考虑到嵌套集模型更难管理,我们可以得出结论,在 PostgreSQL 8.4 中应该使用邻接表模型来管理分层数据。

于 2012-03-05T20:09:52.270 回答
0

关于这种方法的可能性的一些想法在这里:

http://www.davidcramer.net/code/django/6939/scaling-threaded-comments-on-django-at-disqus.html

简而言之:David Cramer (django-debug-toolbar) 非常喜欢递归查询以及它们在 Disqus 中的表现。

于 2010-06-15T03:58:23.080 回答