Ctrl K
Python · Junior · Теория

Что такое проблема N+1 запросов в ORM и как её решают в Django?

~4 мин голосом

Как подойти

Проверяют, понимает ли кандидат, как ленивая загрузка связей в ORM незаметно порождает лавину SQL-запросов, и умеет ли он это заметить и исправить штатными средствами Django — select_related и prefetch_related.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыСпроектируйте работу с PostgreSQL в нагруженном Python-сервисе на SQLAlchemy: десятки инстансов, в каждом несколько воркеров. Как организуете пулы соединений и жизненный цикл сессий? SeniorСтраница со списком заказов стала грузиться несколько секунд, и в логах вы видите сотни однотипных SQL-запросов на один HTTP-запрос. Что происходит и как будете это чинить? MiddleСтраница со списком заказов в Django-админке грузится десять секунд, а в логах видно сотни SQL-запросов на одну загрузку. Что происходит и как это чинить? MiddleВ приложении на SQLAlchemy функция возвращает объект из репозитория, и при обращении к его связанному полю падает DetachedInstanceError. Почему так происходит и как правильно организовать работу с сессией? MiddleРасскажите про проблему N+1 запросов в Django ORM. Как вы её находите и какие средства ORM используете, чтобы её устранить? Senior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~4 мин