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

Как анализировать план выполнения запросов в PostgreSQL с помощью EXPLAIN и EXPLAIN ANALYZE

EXPLAIN показывает предполагаемый план выполнения запроса без реального выполнения, а EXPLAIN ANALYZE выполняет запрос и предоставляет фактические метрики.

Ключевые метрики для анализа:

  • Cost - оценка стоимости операции (чем меньше, тем лучше)
  • Rows - ожидаемое количество строк
  • Width - средний размер строки в байтах
  • Actual Time - реальное время выполнения (только в ANALYZE)
  • Buffers - использование кеша (только в ANALYZE)

Пример анализа простого запроса:

sql
EXPLAIN ANALYZE 
SELECT * FROM users WHERE age > 30;

Вывод может содержать:

  • Seq Scan - полное сканирование таблицы (может быть медленно для больших таблиц)
  • Index Scan - использование индекса (обычно быстрее)
  • Sort - операции сортировки
  • Hash Join/Nested Loop - типы соединений таблиц

Оптимизация часто сводится к:

  1. Добавлению недостающих индексов
  2. Переписыванию запросов для использования существующих индексов
  3. Уменьшению количества обрабатываемых строк на ранних этапах
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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