EXPLAIN
  
  SQL - Language Statements
 
 
  
   EXPLAIN
  
  
   Shows statement execution details
  
 
 
  
   1999-07-20
  
  
EXPLAIN [ VERBOSE ] query        
  
  
   
    1998-09-01
   
   
    Inputs
   
   
    
     
      VERBOSE
      
       
	Flag to show detailed query plan.
       
      
     
     
      query
      
       
	Any query.
       
      
     
    
   
  
  
   
    1998-04-15
   
   
    Outputs
   
   
    
     
      
NOTICE:  QUERY PLAN:
plan
      
      
       
	Explicit query plan from the Postgres backend.
       
      
     
     
      
EXPLAIN
       
      
       
	Flag sent after query plan is shown.
       
      
     
    
   
  
 
 
  
   1998-04-15
  
  
   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.   
  
  
   
    1998-04-15
   
   
    Notes
   
   
    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
  
  
   To show a query plan for a simple query on a table with a single
   int4 column and 128 rows:
   
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
  
  
   
    1998-09-01
   
   
    SQL92
   
   
    There is no EXPLAIN statement defined in SQL92.