EXPLAIN — план запроса
Интерактивное демо «EXPLAIN — план запроса» — раздел Энциклопедия · Данные и разметка.
План выполнения SQL
Сравните Seq Scan и поиск по индексу — как EXPLAIN показывает шаги оптимизатора
EXPLAIN SELECT * FROM orders
WHERE customer_id = 123;
SCAN TABLE orders — Полное сканирование таблицы (Seq Scan)
Строк просмотрено12
В результате6
Относительная стоимость12 / 12
100%
Шаги плана (opcode)
- OpenReadОткрыть таблицу orders для чтения
- RewindУказатель в начало таблицы
- Column + NeСравнить customer_id с 123
- ResultRowСтрока подходит — в результат
- NextСледующая строка (цикл)
- HaltСтроки закончились
Таблица orders (полное сканирование)
1101ООО Альфа12000 ₽
2123Иванов И.4500 ₽
3205Петров П.8900 ₽
4123Иванов И.2100 ₽
588Сидоров С.15600 ₽
6123Иванов И.7800 ₽
7301Козлова К.3200 ₽
8123Иванов И.990 ₽
9123Иванов И.5400 ₽
1044Никитин Н.1100 ₽
11123Иванов И.6700 ₽
12177Орлова О.4300 ₽
Без индекса каждая строка проверяется — стоимость растёт линейно с размером таблицы.