Introduction
EXPLAIN helps you see how PostgreSQL plans to run your query. It shows the steps and costs so you can understand and improve query speed.
EXPLAIN [ANALYZE] your_query_here;
EXPLAIN SELECT * FROM employees WHERE id = 5;
EXPLAIN ANALYZE SELECT * FROM employees WHERE id = 5;
EXPLAIN SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id;
EXPLAIN ANALYZE SELECT * FROM employees WHERE id = 3;
EXPLAIN command in PostgreSQL primarily show?SELECT * FROM users; in PostgreSQL?EXPLAIN followed by the query.SELECT * FROM orders WHERE customer_id = 5;, what does the line Index Scan using idx_customer_id on orders indicate?EXPLAIN ANALYZE SELECT * FROM products WHERE price > 100; but get an error saying "relation 'products' does not exist." What is the likely cause?EXPLAIN ANALYZE output shows a Seq Scan on a large table with a filter on a column. What is the best next step to improve performance?Pass the test and this pattern moves unknown