Clarify documentation of EXPLAIN (TIMING OFF) option.

Clarify that this option doesn't suppress measurement of the statement's
total runtime.

Greg Smith
This commit is contained in:
Tom Lane 2013-05-19 22:03:32 -04:00
parent d4337a0dcb
commit 2af0971f35
2 changed files with 9 additions and 3 deletions

View File

@ -182,11 +182,13 @@ ROLLBACK;
<term><literal>TIMING</literal></term>
<listitem>
<para>
Include the actual startup time and time spent in the node in the output.
Include actual startup time and time spent in each node in the output.
The overhead of repeatedly reading the system clock can slow down the
query significantly on some systems, so it may be useful to set this
parameter to <literal>FALSE</literal> when only actual row counts, and not
exact times, are needed.
parameter to <literal>FALSE</literal> when only actual row counts, and
not exact times, are needed. Run time of the entire statement is
always measured, even when node-level timing is turned off with this
option.
This parameter may only be used when <literal>ANALYZE</literal> is also
enabled. It defaults to <literal>TRUE</literal>.
</para>

View File

@ -414,6 +414,10 @@ ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into, ExplainState *es,
if (es->buffers)
instrument_option |= INSTRUMENT_BUFFERS;
/*
* We always collect timing for the entire statement, even when
* node-level timing is off, so we don't look at es->timing here.
*/
INSTR_TIME_SET_CURRENT(starttime);
/*