Получить доступ

Индексы и производительность запросов

Основа с Junior

B-дерево, составные и покрывающие индексы, планы запросов и оптимизация.

Что важно знать

  • B-дерево — основной индекс: поиск, диапазоны и сортировка за O(log n).
  • Составной индекс работает слева направо: (user_id, created_at) поможет WHERE user_id = ? ORDER BY created_at.
  • Покрывающий индекс отвечает на запрос без чтения таблицы.
  • Функция над колонкой, неселективное условие, приведение типов — индекс не используется.
  • Каждый индекс замедляет запись и занимает место.
  • EXPLAIN ANALYZE: Seq Scan, Index Scan, оценки строк против фактических.

Критерии освоения

Junior ≈ 6 ч

  • Объясняет, как индекс ускоряет поиск, и создаёт индекс под частый запрос

Практика. Заполнить таблицу миллионом строк, замерить запрос до и после индекса.

Middle ≈ 10 ч

  • Читает EXPLAIN ANALYZE и находит причину медленного запроса
  • Проектирует составные и покрывающие индексы с учётом порядка колонок
  • Объясняет, когда индекс не используется и чем вредят лишние индексы

Практика. Ускорить 5 медленных запросов учебной базы по EXPLAIN ANALYZE, для каждого описать причину и решение.

Senior ≈ 4 ч

  • Организует поиск медленных запросов в продакшене (pg_stat_statements) и их системное исправление

Практика. Настроить сбор статистики запросов и провести разбор топ-10 тяжёлых запросов продакшен-подобной нагрузки.

Вопросы с собеседований

Разборы темы

← Вся карта «Backend-разработчик»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем