Facebook などのソーシャル ネットワークで見られるようなニュース フィードを実装する必要があるとします。現在、画像、コメント、フレンドシップ、グループメンバーシップなど、あらゆる種類のポリモーフィックな関連付けを持つニュース クラスを使用しています。オブジェクトが作成されるたびに、ニュースも作成されます。AR(ActiveRecords) では正常に動作していますが、DM(DataMapper) または Sequel に切り替えると問題が発生します。どちらもポリモーフィック アソシエーションをネイティブにサポートしておらず、その使用を推奨していないためです。
1 つの回避策は、多くの UNION を持つ大きな SQL 句を使用して、ニュースと見なされるすべての異なるテーブルをマージすることです。しかし、これにはいくつかの欠点があり、特にパフォーマンスがひどいものになります。
それで、ニュースにメタデータを追加する可能性があるなど、優れたパフォーマンスと他の欠点なしで、ポリモーフィックな関連付けなしで解決するにはどうすればよいでしょうか?