ネストされたコメントを表示するための効率的な方法を作成するために、私は1つのクエリで行うことができると考えています。ネストされたコメントの単一クエリ
簡体コメントテーブル
CREATE TABLE comment (
comment_id int unsigned primary key auto_increment,
date int unsigned,
parent_id int unsigned,
comment text);
明確にするため、コメントはdate
ASCが発注されることになります。コメントにparent_id
がヌルでない場合、それはネストされたコメントであることを意味します。このparent_id
は、上記のコメント 'parent comment_id
を参照しています。
この後半は難しいところです。誰か私はこれを行うには、単一のMySQLクエリを思いつくことができますか?
は、次のコードは、効率的な方法であなたの第二の必要性に応える必要がありますあなたの
ありがとう、私は返信を感謝します。残念ながら、私はFOREIGN KEYを使用することに慣れていませんし、そうすることの意義(上記のテーブルに対するサイズ/効率/無関係なクエリへの影響)を考慮するにはもう少し時間が必要です。私は、別の方法に頼らずに、単一のクエリでこれをきれいに行う方法があることを期待していました。これが1つの解決策であると信じるか、またはすべての可能性の中から最も効果的で効率的な解決策であると信じていますか?ありがとうございました。 – Bogdan
外部キーは、親コメントがデータベースに存在することを保証するものではありません。また、親コメントを検索したいときに簡単にクエリを行うことができます。あなたが日付列をインデックス化する限り、注文が進む限り、私はあなたがALTER TABLEに頼る必要はないと思っています。なぜなら、問い合わせ中の注文は安くなければならないからです。しかし、一般的には、効果的な管理のためにデータベースの索引付けと制約を理解することは良いことです。これが助けて欲しい! – YashTD