Я создаю приложение, которое позволяет комментировать 5 уникальных моделей (сообщения, фотографии, события и т. Д.), И еще 2 или 3 находятся в пути. В настоящее время каждая модель имеет связанную модель комментариев (PostComments, PhotoComments, EventComments и т. Д.), Хотя сами комментарии, как правило, одинаковы для всех моделей.
Недавно я обнаружил силу полиморфных ассоциаций, прекрасно объясненных в Railscast # 154 , который по сути объединяет множество моделей в одну модель и множество таблиц в одну таблицу.
Хотя полиморфные ассоциации будут очищать код и избыточность, как они влияют на производительность? Я не знаю много об оптимизации базы данных, но кажется, что запрос на комментарий из 1 000 000 строк в общей таблице комментариев займет больше времени, чем 200 000 строк в конкретной таблице комментариев. Стоит ли переходить к полиморфным ассоциациям (хотя приложение все еще находится на относительно ранней стадии разработки) или мне следует продолжать создавать модели / таблицы для каждого типа комментариев?