У меня есть 10 html-страниц и 10 функций в файле views.py. У меня есть один и тот же запрос в каждой функции (и те же результаты). Итак, каков наилучший способ оптимизации не выполнять такой же SQL-запрос на всех страницах?Каков наилучший способ выполнения одного и того же запроса sql на каждом html-страницах
ответ
Немного непонятно, имеете ли вы в виду, что вы не хотите ударять по базе данных несколько раз, или вы не хотите выписывать фактический код несколько раз (что является основной частью «pythonic»).
Если это последний, ознакомьтесь с class based views. Это очень мощные инструменты, которые позволяют вам писать гораздо меньше кода котельной плиты и сделать ваше приложение гораздо более удобным. Например, вы можете написать один базовый класс, содержащий запрос, и все остальные представления могут наследовать этот базовый класс и добавить свой собственный шаблон/независимо от того, что вы переходите из вида для просмотра.
Если это первый, и вы беспокоитесь о попаданиях в базу данных, тогда я бы поставил вопрос A) Действительно ли запрос действительно дорог, что его нужно оптимизировать? и B) Если это так дорого, уверены ли вы, что есть очень веская причина, что вам нужно повторить его в 10 разных взглядах?
Если да, то да, вы оба захотите посмотреть в кеширование, используя что-то вроде memcached и каркас кэширования django.
В дальнейшем, пожалуйста, укажите дополнительную информацию в своем вопросе. Примеры ваших взглядов/объяснений ПОЧЕМУ, что вам нужно делать, что вы пытаетесь сделать, могут не только помочь людям ответить на ваш вопрос, но и указать вам в сторону лучшего решения вашей проблемы.
- 1. Каков наилучший способ выполнения одного и того же php-скрипта на другом сервере?
- 2. Каков наилучший способ выполнения `sum_by_sql`?
- 3. Каков наилучший способ выполнения этой задачи SQL?
- 4. Каков наилучший способ запроса?
- 5. Каков наилучший способ оптимизации этого запроса sql
- 6. Каков наилучший способ реализации этого SQL-запроса?
- 7. Каков наилучший способ вызова одного метода в каждом классе?
- 8. Каков наилучший способ выполнения многопоточности?
- 9. MySql Различные пути выполнения для одного и того же запроса
- 10. Каков наилучший способ предоставить альтернативные виды одного и того же контента
- 11. SQL: Каков наилучший способ вставки и запроса списка организованных данных?
- 12. Каков наилучший способ создания связанных объектов одного и того же характера (например: Статьи по теме)?
- 13. Избегайте повторения одного и того же запроса для списка объектов в каждом представлении Django
- 14. Каков наилучший способ опубликовать бесплатные и платные версии одного и того же приложения в Google Play?
- 15. Каков наилучший способ внедрения различных реализаций одного и того же интерфейса в контроллер с помощью StructureMap?
- 16. Как избежать выполнения одного и того же запроса несколько раз?
- 17. Инструмент для выполнения одного и того же запроса sql на нескольких серверах Oracle и агрегированном результате
- 18. Каков наилучший способ сравнить 2 варианта SQL-запроса для производительности?
- 19. Каков наилучший способ добавления вариаций одного и того же символа в представление в Cocoa
- 20. Каков наилучший способ плавать элементы одного и того же класса бок о бок?
- 21. Каков наилучший способ svn 2 копии одного и того же проекта?
- 22. Каков наилучший способ публикации нескольких версий одного и того же приложения ClickOnce?
- 23. Каков наилучший способ для выполнения обещаний bluebird
- 24. Каков наилучший способ синхронизации нескольких копий одного и того же файла?
- 25. Hibernate: Каков наилучший способ выполнения операции «побитовое»?
- 26. Каков наилучший способ сравнения переменных одного класса?
- 27. Каков наилучший способ выполнения последовательных методов?
- 28. Каков наилучший способ параметризации запроса LIKE?
- 29. Каков наилучший способ очистки строк запроса?
- 30. Каков наилучший способ выполнения подачи формы?
Принимаю во внимание «не повторяй себя». Я говорю о моей части профиля. Я хочу, чтобы информация о профиле существовала на всех страницах. Например, твиттер. Ваши следующие, твиты, сопровождаемые vs существуют на всех html-страницах. (sory мой плохой английский). Поэтому оба они важны для меня, я думаю. –
Короткий ответ здесь: «Не оптимизировать преждевременно». Извлечение информации о профилях из вашей базы данных - такая небольшая транзакция, что вы не увидите практически никакой разницы между кешированием и не кэшированием. Даже для более дорогих запросов memcached было бы более чем достаточно, чтобы справиться с этим. – ptr