ancestorには祖先としての自分自身のcomment_idを入れて、descendantにはその子孫に当たるcomment_idを入れています。 ツリー構造への参照や更新がしやすくなる このような閉包テーブルでコメント間の親子関係を保存しておくことで、いろんな要件を満たしたクエリ実行が簡単になります。 comment_id=1をスレッドとして、その子に当たるコメントを全て取得する場合 SELECT c.* FROM Comments c INNER JOIN TreePaths t ON c.comment_id = t.descendant WHERE t.ancestor = 1; comment_id=3を親とするコメント(comment_id=7)を新規追加したい場合 INSERT INTO TreePaths(ancestor, descendant) VALUES SELE
