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

Что такое оптимизация запросов в БД

Оптимизация запросов в БД — это процесс улучшения производительности SQL-запросов для уменьшения времени выполнения и нагрузки на сервер. Основные методы:

  1. Индексы — ускорение поиска данных (но замедляют вставку/обновление)
python
# Пример создания индекса в SQL
CREATE INDEX idx_user_email ON users(email);
  1. EXPLAIN — анализ плана выполнения запроса
sql
EXPLAIN SELECT * FROM orders WHERE user_id = 100;
  1. Оптимизация JOIN-ов:
  • Использование INNER JOIN вместо OUTER, где возможно
  • Фильтрация до соединения таблиц
  1. Ограничение выборки:
  • Использование LIMIT
  • Выбор только нужных столбцов (не SELECT *)
  1. Кэширование частых запросов

  2. Нормализация/денормализация таблиц в зависимости от сценариев использования

  3. Пакетная обработка вместо множества мелких запросов

Для ORM (например Django):

python
# Плохо: N+1 проблема
users = User.objects.all()
for user in users:
    print(user.profile.age)  # Отдельный запрос для каждого пользователя

# Хорошо: select_related
users = User.objects.select_related('profile').all()

Оптимизация требует баланса между скоростью чтения и затратами на запись/обновление данных.

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

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

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

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