Что делает EXPLAIN в БД
Python
Senior
Без компании
Что делает EXPLAIN в БД
Ответы
`EXPLAIN` — это команда в SQL, которая показывает план выполнения запроса, помогая оптимизировать его. Она выводит информацию о том, как СУБД будет обрабатывать запрос: какие индексы используются, порядок соединения таблиц, оценка стоимости операций и т. д.
**Пример в PostgreSQL:**
```
EXPLAIN SELECT * FROM users WHERE age > 30;
```
Вывод может включать:
- **Seq Scan** (последовательное сканирование) — если нет индекса.
- **Index Scan** — если используется индекс.
- **Join Type** — метод соединения таблиц (Nested Loop, Hash Join и т. д.).
**Оптимизация:**
Если `EXPLAIN` показывает `Seq Scan` на большом таблице, стоит добавить индекс:
```
CREATE INDEX idx_users_age ON users(age);
```
Для детального анализа можно использовать `EXPLAIN ANALYZE`, который выполняет запрос и показывает реальное время выполнения.