Встречается на собеседованиях • сегодня
Расскажи про опыт оптимизации запросов к БД
Оптимизация запросов к БД — критически важный навык для работы с большими объемами данных. Основные подходы:
- Индексы — создание правильных индексов под частые запросы. Например:
python
# До оптимизации
User.objects.filter(email='test@example.com') # Без индекса на email
# После
class User(models.Model):
email = models.CharField(max_length=255, db_index=True)-
EXPLAIN ANALYZE — анализ плана выполнения запроса для выявления узких мест.
-
Оптимизация ORM:
select_related()для JOIN (ForeignKey)prefetch_related()для M2Monly()/defer()для выбора конкретных полей
-
Денормализация — иногда стоит дублировать данные для ускорения чтения.
-
Кэширование — Redis/Memcached для часто запрашиваемых данных.
-
Пакетные операции —
bulk_create(),update()вместо множества отдельных запросов.
Пример из опыта: сократил время отчетного запроса с 15 сек до 200 мс через комбинацию индексов, prefetch_related и денормализации некоторых полей.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы