Встречается на собеседованиях • сегодня
Как понять, надо ли оптимизировать запросы к БД
Оптимизация запросов нужна, когда:
- Запросы выполняются медленно – измеряйте время выполнения через
EXPLAIN ANALYZEв PostgreSQL или аналоги в других СУБД. - Нагрузка на БД высока – мониторьте CPU, память, дисковые операции.
- Есть частые N+1 проблемы – например, в Django ORM:
python
# Плохо: N+1 запросов
books = Book.objects.all()
for book in books:
print(book.author.name) # Отдельный запрос для каждого автора
Хорошо: 1 запрос с select_related
books = Book.objects.select_related('author').all()
text
4. **Индексы не используются** – проверьте через `EXPLAIN`, есть ли `Seq Scan` вместо `Index Scan`.
5. **Данные растут** – то, что работало на 100 записях, может не работать на 1M.
Оптимизируйте только после профилирования – не угадывайте!
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы