explain.l
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. ." This is -*-nroff-*-
  2. ." XXX standard disclaimer belongs here....
  3. ." $Header: /usr/local/cvsroot/pgsql/src/man/Attic/explain.l,v 1.12 1999/05/17 17:03:51 momjian Exp $
  4. .TH EXPLAIN SQL 06/12/97 PostgreSQL PostgreSQL
  5. .SH NAME
  6. explain - explains statement execution details
  7. .SH SYNOPSIS
  8. .nf
  9. fBexplain [verbose]fR query
  10. .fi
  11. .SH DESCRIPTION
  12. This command outputs details about the supplied query.  The default
  13. output is the computed query cost.  The cost value is only meaningful to
  14. the optimizer in comparing various query plans. f2verbosef1 displays
  15. the full query plan and cost to your screen, and pretty-prints the plan
  16. to the postmaster log file.
  17. .SH EXAMPLES
  18. In the examples, the table has a single column of float4.
  19. fBcostfR is the cost of scanning a base/join relation,
  20. fBrowsfR is the expected number of rows from a scan,
  21. fBwidthfR is the length of a tuple.
  22. .nf
  23. tgl=> explain select a from testg
  24. NOTICE:QUERY PLAN:
  25. Seq Scan on test  (cost=0.00 rows=0 width=4)
  26. EXPLAIN
  27. tgl=> explain verbose select sum(a) from test;
  28. NOTICE:QUERY PLAN:
  29. {AGG :cost 0 :size 0 :width 0 :state <> :qptargetlist
  30.  ({TLE :resdom {RESDOM :resno 1 :restype 700 :restypmod 4 :resname "sum"
  31.    :reskey 0 :reskeyop 0 :resjunk false}
  32.   :expr {AGGREG :aggname "sum" :basetype 700 :aggtype 700 :aggno 0
  33.  :target {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}}})
  34.  :qpqual <> :lefttree {SEQSCAN :cost 0 :size 0 :width 4 :state <>
  35.   :qptargetlist ({TLE :resdom {RESDOM :resno 1 :restype 700 :restypmod 4
  36.    :resname "null" :reskey 0 :reskeyop 0 :resjunk false}
  37.   :expr {VAR :varno 1 :varattno 1 :vartype 700 :varnoold 1 :varoattno 1}})
  38.  :qpqual <> :lefttree <> :righttree <> :scanrelid 1} :righttree <> :numagg 1 }
  39. Aggregate  (cost=0.00 rows=0 width=0)
  40.   ->   Seq Scan on test  (cost=0.00 rows=0 width=4)
  41. .fi
  42. The Postgres optimizer has chosen to use a sequential scan to retrieve rows from
  43. this table. Indices will used by the optimizer
  44. after tables grow large enough to warrant the access
  45. overhead; typically this might happen when tables have a few hundred rows.
  46. .SH "SEE ALSO"
  47. delete(l),
  48. insert(l),
  49. select(l).
  50. .SH BUGS
  51. .PP
  52. The query cost and plan can be affected by running vacuum.