План выполнения запроса - это детальное описание шагов, которые PostgreSQL предпринимает для получения результата SQL-запроса. В плане запроса описаны все операции и их стоимость, благодаря чему можно исправлять запрос и улучшать его производительность.
Давайте рассмотрим план запроса на примере двух таблиц customers
и orders .
customers
customer_id | first_name | last_name | city |
---|---|---|---|
1 | John | Doe | New York |
2 | Jane | Smith | Los Angeles |
orders
order_id | customer_id | total_amount |
---|---|---|
1 | 1 | 100.00 |
2 | 1 | 50.00 |
Как получить план выполнения запроса
Для получения плана выполнения запроса в PostgreSQL используется команда EXPLAIN
. Есть два основных варианта использования:
EXPLAIN
: Возвращает план выполнения запроса без фактического выполнения запроса.EXPLAIN ANALYZE
: Выполняет запрос и возвращает план выполнения вместе с фактическими данными о времени и количестве строк на каждом шаге.