SQL декларативен: вы указываете, что хотите, а не как это получить. Оптимизатор превращает ваш запрос в дерево физических операций (сканирование, объединение, сортировка) с предполагаемыми затратами, называемое планом выполнения, и выбирает самый дешевый план, который он может найти среди рассматриваемых планов.
Пример
EXPLAIN ANALYZE
SELECT*FROM orders WHERE customer_id =42;
-- QUERY PLAN-- Index Scan using idx_orders_customer_id on orders-- (cost=0.29..8.31 rows=1 width=48) (actual time=0.02..0.03 rows=3 loops=1)-- Index Cond: (customer_id = 42)
Итог
SQL декларативен: вы указываете, что хотите, а не как это получить.
Что такое план выполнения запроса и как он связан с написанным вами… · Sobeso