背景: ユーザーがさまざまなオブジェクト タイプにコメントできるアプリケーションを作成しています。簡単にするために、Object AとObject Bがあり、どちらもコメントできるとします。これらのコメントをデータベース テーブルに保存したいと考えています。両方のオブジェクトのコメントのデータ構造はまったく同じで、最も一般的なデータベース クエリは「特定のオブジェクト Aのすべてのコメントを取得する」です。
質問: 次のスキーマのうち、最も効果的なものはどれですか?
- 「タイプ」の列を含む単一のテーブル、コメント
- オブジェクト タイプごとに複数のテーブル、Comments_ObjectA および Comments_ObjectB
- 私が考慮していない他の何か
使用例
- 単一テーブル: "SELECT * FROM コメント WHERE type="ObjectA" および id_object=123
- 複数のテーブル: 「SELECT * FROM comment_objecta WHERE id_objecta=123」
ご協力ありがとうございました!