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

Как оптимизировать запросы к БД

Оптимизация SQL-запросов в Python включает несколько ключевых подходов:

  1. Используй индексы – убедись, что запросы используют индексы для ускорения поиска.
  2. Ограничивай выборку – забирай только нужные поля (SELECT column1, column2 вместо SELECT *).
  3. Пейджинг – применяй LIMIT и OFFSET для больших таблиц.
  4. Кеширование – используй django-cache или redis для часто запрашиваемых данных.
  5. Оптимизация JOIN – избегай лишних соединений и проверяй их порядок.

Пример с SQLAlchemy:

python
# Плохо (выбирает все поля)
users = session.query(User).all()

# Лучше (только нужные поля + лимит)
users = session.query(User.id, User.name).limit(100).all()

Django ORM:

python
# Оптимизированный запрос с select_related (для ForeignKey)
orders = Order.objects.select_related('customer').filter(status='completed')[:50]

Дополнительно: анализируй медленные запросы через EXPLAIN (PostgreSQL) или django-debug-toolbar.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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