Что такое EXPLAIN ANALYZE и как найти медленный запрос?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

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

Основные шаги оптимизации:

  1. Изучить план выполнения, обратить внимание на полные сканирования таблиц (Seq Scan), отсутствие индексов.
  2. Добавить или изменить индексы для ускорения поиска.
  3. Переписать запрос для более эффективного использования индексов.
  4. Уменьшить объем обрабатываемых данных (фильтрация, агрегация).

Пример использования EXPLAIN в PostgreSQL:

EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;

Это покажет, сколько времени занимает поиск и какие операции выполняются.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее