EXPLAIN (l)
Shows statement execution details
SYNOPSIS
EXPLAIN [ VERBOSE ] query
VERBOSE
Flag to show detailed query plan.
query
.
NOTICE: QUERY PLAN:
Explicit query plan from the Postgres backend.
EXPLAIN
Flag sent after query plan is shown.
DESCRIPTION
This command outputs details about the supplied query.
The default output is the computed query cost.
The cost value is only meaningful to the optimizer in comparing
various query plans.
VERBOSE displays the full query plan and cost to your screen,
and pretty-prints the plan to the postmaster log file.
There is only sparse documentation on the optimizer's use of cost
information in Postgres.
General information on cost estimation for query optimization
can be found in database textbooks.
Refer to the Programmer's Guide
in the chapters on indexes and the genetic query optimizer for
more information.
USAGE
EXPLAIN SELECT * FROM foo;
NOTICE: QUERY PLAN:
Seq Scan on foo (cost=5.22 rows=128 width=4)
EXPLAIN
For the same table with an index to support an
equijoin condition on the query,
EXPLAIN will show a different plan:
EXPLAIN SELECT * FROM foo WHERE i = 4;
NOTICE: QUERY PLAN:
Index Scan using fi on foo (cost=2.05 rows=1 width=4)
EXPLAIN
And finally, for the same table with an index to support an
equijoin condition on the query,
EXPLAIN will show the following for a query
using an aggregate function:
EXPLAIN SELECT sum(i) FROM foo WHERE i = 4;
NOTICE: QUERY PLAN:
Aggregate (cost=2.05 rows=1 width=4)
-> Index Scan using fi on foo (cost=2.05 rows=1 width=4)
COMPATIBILITY
|