Вопрос проверяет практическое знание инструментов анализа SQL-запросов в популярных СУБД.
Для получения плана используется команда EXPLAIN.
Она показывает предполагаемый план выполнения.EXPLAIN ANALYZE дополнительно выполняет запрос и показывает реальные данные.
В MySQL используется аналогичная команда EXPLAIN.
Это стандартный инструмент анализа SQL.
Практически каждая СУБД предоставляет средства для анализа плана выполнения.
Основные команды:
EXPLAIN — показывает план без выполнения запроса.
EXPLAIN ANALYZE — выполняет запрос и показывает фактическое время и количество строк.
Пример:
EXPLAIN ANALYZE
SELECT * FROM orders WHERE user_id = 10;
Что можно увидеть:
Типы сканирования (Seq Scan, Index Scan).
Фактическое и ожидаемое количество строк.
Реальное время выполнения.
В MySQL используется:
EXPLAIN
SELECT * FROM orders WHERE user_id = 10;
Также доступны:
EXPLAIN ANALYZE (в новых версиях).
Дополнительные режимы форматирования.
ANALYZEANALYZE полезен, когда:
План кажется оптимальным, но запрос медленный.
Нужно сравнить оценки оптимизатора с реальностью.
EXPLAIN и EXPLAIN ANALYZE — основной способ получить и проанализировать план выполнения запроса в PostgreSQL и MySQL.