From 83527b1339c340436f82e7d983a4d2d70dfd082e Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Tue, 3 Aug 2010 17:14:19 +0000 Subject: [PATCH] Add EXPLAIN documentation example. gabrielle <gorthx@gmail.com> --- doc/src/sgml/ref/explain.sgml | 47 ++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml index cf4aa8f7622..044aba71a8f 100644 --- a/doc/src/sgml/ref/explain.sgml +++ b/doc/src/sgml/ref/explain.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/explain.sgml,v 1.50 2010/04/03 07:23:01 petere Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/explain.sgml,v 1.51 2010/08/03 17:14:19 momjian Exp $ PostgreSQL documentation --> @@ -247,6 +247,29 @@ EXPLAIN SELECT * FROM foo; </programlisting> </para> + <para> + Here is the same query, with JSON formatting: +<programlisting> +EXPLAIN (FORMAT JSON) SELECT * FROM foo; + QUERY PLAN +-------------------------------- + [ + + { + + "Plan": { + + "Node Type": "Seq Scan",+ + "Relation Name": "foo", + + "Alias": "foo", + + "Startup Cost": 0.00, + + "Total Cost": 155.00, + + "Plan Rows": 10000, + + "Plan Width": 4 + + } + + } + + ] +(1 row) +</programlisting> + </para> + <para> If there is an index and we use a query with an indexable <literal>WHERE</literal> condition, <command>EXPLAIN</command> @@ -263,6 +286,28 @@ EXPLAIN SELECT * FROM foo WHERE i = 4; </programlisting> </para> + <para> + Here is the same query, but in YAML output: +<programlisting> +EXPLAIN (FORMAT YAML) SELECT * FROM foo WHERE i='4'; + QUERY PLAN +------------------------------- + - Plan: + + Node Type: "Index Scan" + + Scan Direction: "Forward"+ + Index Name: "fi" + + Relation Name: "foo" + + Alias: "foo" + + Startup Cost: 0.00 + + Total Cost: 5.98 + + Plan Rows: 1 + + Plan Width: 4 + + Index Cond: "(i = 4)" +(1 row) +</programlisting> + + XML output is left as an exercise to the reader. + </para> <para> Here is the same plan with costs suppressed: -- GitLab