Не уверен, что это может упасть в разделе производительности, а также в разделе модели / базы данных, так что вот так ...
Допустим, у меня есть 3 модели:
Movie {
has_one :interest, :as => :resource
}
Song {
has_one :interest, :as => :resource
}
Story {
has_one :interest, :as => :resource
}
и...
Interest {
belongs_to :resource, :polymorphic => true
}
Теперь, если мне нужен список всех интересов для всех фильмов, и я хочу показать также дату создания этих объектов Movies (чтобы указать, сколько им было лет), тогда я используюпоиск атрибута resource_type, а затем @ some_interest.resource.created_at.
Проблема в том, что если у меня 100 интересов в фильме, тогда я получу 101 запрос, верно?Итак, линейная деградация.Я попытался использовать: include => [: resource] в своем запросе, но там говорится, что нельзя использовать include в полиморфных ассоциациях.
Как я могу либо загрузить, либо оптимизировать эту проблему, чтобы избежать серьезной деградации ??
Любая помощь будет принята с благодарностью !!