5つのユニークなモデル(投稿、写真、イベントなど)のコメントを2〜3回追加できるアプリをビルドしています。それ自体、コメントモデル自体は全モデル共通ですが、各モデルには関連するコメントモデル(PostComments、PhotoComments、EventCommentsなど)があります。多くの異なるモデルのためのコメント:多態性かどうか? (Ruby on Rails)
私は最近、多くのモデルを単一のモデルにまとめ、多数のテーブルを1つのテーブルにまとめるという、Railscast #154で完全に説明された多相関連の力を発見しました。
多相関連はコードと冗長性をクリーンアップしますが、どのようにパフォーマンスに影響しますか?データベースの最適化についてはあまりよく分かりませんが、一般的なコメントテーブルの1,000,000行からのコメントを特定のコメントテーブルの200,000行よりもクエリするのに時間がかかるようです。多態的な関連付けに切り替える価値があるのですか(まだアプリの開発がまだ比較的早い段階ですが)、コメントの種類ごとにモデルや表を作成し続ける必要がありますか?
コメント機能は実際に多形性関連のための最良の例です。適切なインデックスとクエリを持つ適切なmysqlサーバの場合、1000000行は何もありません。存在しない問題を解決しようとしないでください:) – keymone