Встречается на собеседованиях • сегодня

Как понять, надо ли оптимизировать запросы к БД

Оптимизация запросов нужна, когда:

  1. Запросы выполняются медленно – измеряйте время выполнения через EXPLAIN ANALYZE в PostgreSQL или аналоги в других СУБД.
  2. Нагрузка на БД высока – мониторьте CPU, память, дисковые операции.
  3. Есть частые 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.  

Оптимизируйте только после профилирования – не угадывайте!
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы