私はそのようなモデル構造を持っています:
class Entity < ActiveRecord::Base
habtm :properties_1
# ...
habtm :properties_N
end
プロパティの任意のセットでリクエストを書き込む必要があります。これにより、N個の結合が発生します。
Entity.joins(:properties_1, :properties_N).where("properties_1.id = ? AND properties.N = ?", p1_id, pN_id)
Nは>20である可能性があります
クエリのパフォーマンスを向上させるために何を使用できますか?
このすべての設定をシリアル化された属性を持つ大きなテーブルにキャッシュすることを考えていますが、この問題は一般的であり、おそらく既存の解決策が存在するようです。
何か案は?
よろしくお願いします!