2012-01-21 6 views
0

В одном из моих представлений мне нужно представить много статистики о данных в модели и вложенных моделях. Для вложенных моделей есть много сумм и счетчиков с различными условиями.Один большой вызов модели или много маленьких?

Лучше ли писать отдельные методы для каждой статистики, которая мне нужна, которая генерирует множество вызовов SQL, но делает хорошие короткие фрагменты кода? Или я должен написать метод, который только циклически перебирает каждую вложенную модель один раз, вычисляет все счеты/суммы вручную и возвращает данные в хэш?

ответ

0

Это зависит, если разбить большой запрос на независимые запросы заставляет, например, объединить дважды одну пару таблиц или дважды прочитать одну и ту же таблицу, то это не очень хорошая стратегия.

Если это не так, вы можете разбить запрос на независимые запросы для лучшей удобочитаемости и повторного использования.

Используйте EXPLAIN для анализа ваших запросов, попробуйте разные и проверьте производительность с большим количеством тестовых данных. Подумайте о создании индексов для больших таблиц со многими записями.

+0

хороший список вещей для рассмотрения. Благодарю. – Brenda

Смежные вопросы