Sobes.tech
Назад к вопросам
Middle+
5

Что такое EXPLAIN и EXPLAIN ANALYZE в PostgreSQL, в чём разница?

Компании, где спрашивали
Ozon ФинтехOzon Финтех

Ответ от нейросети

sobes.tech AI

В PostgreSQL команда EXPLAIN используется для отображения плана выполнения SQL-запроса, то есть как СУБД собирается его выполнить. Она показывает, какие операции будут выполнены (например, последовательное сканирование, индексное сканирование, соединения), в каком порядке и с какими оценками затрат.

EXPLAIN ANALYZE дополнительно выполняет сам запрос и показывает фактическое время выполнения каждой операции и количество обработанных строк. Это позволяет сравнить план с реальным выполнением и выявить узкие места.

Основные отличия:

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

Пример:

EXPLAIN SELECT * FROM users WHERE id = 10;

EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;