0

トピックにスレッド化されたコメントシステムを実装しています。つまり、トピックがあり、各トピックにスレッド化されたコメントがあります。

ネストされたセットは、一般的な方法のように見えますが、各スレッドのルートをどのように実装する必要がありますか?例えば:

  • コメントは、1つの大規模なネストされたセットである可能性があります。私は間違っているかもしれませんが、1本の木としてはすべて遅くなるようです。

  • コメントには、トピックごとに1つのルートスレッドを含めることができます。しかし、その場合、トピックごとに空白のルートを作成する必要があるように思われます。空白のルートを持つことは奇妙に思えます。

  • 各第1レベルのコメントはルートになる可能性があります。これにより、空白のルートが削除されますが、ルートスレッドが大量に存在するようで、50個の第1レベルのコメントを含むページをレンダリングするには、50個のクエリを実行する必要があります:S。

私はここで何かが欠けていますか、これを行うためのより良い方法はありますか?私は空白の根に傾いていますが、それは完全に正しくないようです

ありがとう。

4

1 に答える 1

1

入れ子集合構造でその情報を非表示にするのではなく、通常、コメントテーブルに「所有者トピック」用の個別の外部キーがあると思います。IMOの左/右のペアは、所有者コンテキスト内でのネスト/順序付けのみを指示する必要があります。

次に、単一ルートまたは複数ルートのネストされたセット構造があるかどうかは関係ありません。(FWIW、私はマルチルートを使用しています。)どちらの方法でも、1つのクエリで1つのトピックのすべてのコメントを確実に取得できます。

于 2009-11-26T09:52:18.710 に答える