У меня есть вопрос по оптимизации. Это не моя ситуация, но для целей вопроса этот пример подходит лучше:
Допустим, у вас есть приложение, которое отображает ваши ежемесячные события. Эта информация редко меняется - раз в месяц. Он отображает 5 спец., Но для каждого спец. Нужно отображение такой информации:
Product.name
Product.manufacturer.name
Store.shipping_address.address_line_1
Store.shipping_address.address_line_1
Store.shipping_address.city
Store.shipping_address.state
Store.shipping_address.zip
Store.phone_number.area_code
Store.phone_number.phone_number
При правильно настроенных ассоциациях вы в конечном итоге сделаете 5 запросов к БД. (1, чтобы получить все специальные предложения, 1 для адреса, 1 для телефона, 1 для продукта, 1 для производителя).
В этом примере - shipping_address и phone_number - это методы, настроенные в модели Store, которые выполняют поиск полиморфных моделей адреса и номера телефона, которые имеют отношение «1 ко многим» к категории модели (информация о хранении, такая как доставка или оплата, или телефон или факс). )
Здесь проблема, скажем, у вас есть 5 специальных предложений, и они могут быть в разных магазинах, поэтому вам нужно сделать 5 запросов на каждой странице, чтобы отобразить эту информацию, включая первую страницу.
Каков наилучший способ оптимизировать это / ускорить его?