Add a few words from Vadim and an example on explain output.
Update the update date.
This commit is contained in:
parent
0f576413bc
commit
380eaaa139
@ -1,7 +1,7 @@
|
||||
.\" This is -*-nroff-*-
|
||||
.\" XXX standard disclaimer belongs here....
|
||||
.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.4 1997/01/16 14:56:59 momjian Exp $
|
||||
.TH EXPLAIN SQL 11/05/95 PostgreSQL PostgreSQL
|
||||
.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.5 1997/06/12 23:45:54 thomas Exp $
|
||||
.TH EXPLAIN SQL 06/12/97 PostgreSQL PostgreSQL
|
||||
.SH NAME
|
||||
explain \(em explains statement execution details
|
||||
.SH SYNOPSIS
|
||||
@ -12,6 +12,50 @@ explain \(em explains statement execution details
|
||||
This command outputs details about the supplied query. The default
|
||||
output is the computed query cost. \f2verbose\f1 displays the full query
|
||||
plan and cost.
|
||||
|
||||
.SH EXAMPLES
|
||||
In the examples, the table has a single column of float4.
|
||||
\fBcost\fR is the cost of scanning a base/join relation,
|
||||
\fBsize\fR is the expected number of tuples from a scan,
|
||||
\fBwidth\fR is the length of a tuple.
|
||||
|
||||
.nf
|
||||
tgl=> explain select a from test\g
|
||||
NOTICE:QUERY PLAN:
|
||||
|
||||
Seq Scan on test (cost=0.00 size=0 width=4)
|
||||
|
||||
EXPLAIN
|
||||
tgl=> explain verbose select sum(a) from test;
|
||||
NOTICE:QUERY PLAN:
|
||||
|
||||
{AGG :cost 0 :size 0 :width 0 :state nil :qptargetlist
|
||||
({TLE :resdom {RESDOM :resno 1 :restype 700 :reslen 4 :resname "sum"
|
||||
:reskey 0 :reskeyop 0 :resjunk 0}
|
||||
:expr {AGGREG :aggname "sum" :basetype 700 :aggtype 700 :aggno 0
|
||||
:target {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}}})
|
||||
:qpqual nil :lefttree {SEQSCAN :cost 0 :size 0 :width 4 :state nil
|
||||
:qptargetlist ({TLE :resdom {RESDOM :resno 1 :restype 700 :reslen 4
|
||||
:resname "null" :reskey 0 :reskeyop 0 :resjunk 0}
|
||||
:expr {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}})
|
||||
:qpqual nil :lefttree nil :righttree nil :scanrelid 1} :righttree nil :numagg 1 }
|
||||
|
||||
Aggregate (cost=0.00 size=0 width=0)
|
||||
-> Seq Scan on test (cost=0.00 size=0 width=4)
|
||||
.fi
|
||||
|
||||
The Postgres optimizer has chosen to use a sequential scan to retrieve rows from
|
||||
this table. Indices will used by the optimizer
|
||||
after tables grow large enough to warrant the access
|
||||
overhead; typically this might happen when tables have a few hundred rows.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
delete(l),
|
||||
insert(l),
|
||||
select(l).
|
||||
|
||||
.SH BUGS
|
||||
|
||||
.PP
|
||||
The query cost and plan can be affected by running vacuum.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user