0

我正在为主题实现一个线程评论系统,即有一个主题,然后对每个主题进行线程评论。

嵌套集“似乎”是流行的方式,但我应该如何实现每个线程的根?例如:

  • 评论可能是一个巨大的嵌套集。我可能是错的,但它似乎会像一棵树一样慢。

  • 每个主题的评论可以有一个根线程。但是看起来我必须为每个主题创建一个空白根,空白根似乎很奇怪。

  • 每个第一级评论都可以是一个根。这消除了空白根,但似乎会有大量的根线程,并且说要呈现一个包含 50 个第一级评论的页面,我必须做 50 个查询:S。

我在这里遗漏了什么,有没有更好的方法来做到这一点?我倾向于空白根,但它似乎不太正确

谢谢。

4

1 回答 1

1

我认为您通常会在评论表中为“所有者主题”设置一个单独的外键,而不是将该信息隐藏在嵌套集结构中。IMO 左/右对只应在所有者上下文中指示嵌套/排序。

那么如果你有一个单根或多根嵌套集结构并不重要。(FWIW,我使用多根。)您当然可以在单个查询中获取一个主题的所有评论。

于 2009-11-26T09:52:18.710 回答