2016-06-24 4 views
0

Я создал приложение Django, и все, кажется, работает красиво. Затем я начал смотреть панель инструментов отладки Django и увидел, что некоторые мои страницы генерируют более 100 запросов с большим количеством дубликатов. Тем не менее, страница остается мгновенной, и время выполнения все еще низкое из-за кэширования, которое я бы себе представил.Большое количество запросов в представлении Django

Мой вопрос в том, что это большое количество запросов - большая проблема? Должен ли я сделать приоритетом, чтобы получить количество запросов, или это нормально, если я дважды вызываю один и тот же запрос, зная, что ORG Django будет кэшировать результат.

Например, если я делаю один и тот же запрос в шаблоне пару раз, должен ли я передать его как переменную контекста или установить его равным переменной в шаблоне с помощью тега with, а не называть его несколько раз , хотя Django кэширует результат?

+1

Слишком широкий, но я чувствую, что вы неправильно поняли, как работает кеширование ORM. Почему бы не написать какой-нибудь код? – e4c5

+0

Вы должны посмотреть, как долго выполняются запросы, а не сколько из них есть – Sayse

+0

Да, выполнение кода и запроса кэшируется, что кажется более быстрым. Хотя вам нужно поделиться некоторым кодом, потому что 100 запросов в запросе кажутся слишком высокими. –

ответ

1

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

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

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