@@ -430,18 +430,27 @@ WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2;
430430
431431 <para>
432432 The <literal>Total runtime</literal> shown by <command>EXPLAIN
433- ANALYZE</command> includes executor start-up and shut-down time, as well
434- as time spent processing the result rows. It does not include parsing,
435- rewriting, or planning time. For a <command>SELECT</> query, the total
436- run time will normally be just a little larger than the total time
437- reported for the top-level plan node. For <command>INSERT</>,
438- <command>UPDATE</>, and <command>DELETE</> commands, the total run time
439- might be considerably larger, because it includes the time spent processing
440- the result rows. For these commands, the time for the top plan node is
441- essentially the time spent locating the old rows and/or computing
442- the new ones, but it doesn't include the time spent applying the changes.
443- Time spent firing triggers, if any, is also outside the top plan node,
444- and is shown separately for each trigger.
433+ ANALYZE</command> includes executor start-up and shut-down time, but not
434+ parsing, rewriting, or planning time. For <command>INSERT</>,
435+ <command>UPDATE</>, and <command>DELETE</> commands, the time spent
436+ applying the table changes is charged to a top-level Insert, Update,
437+ or Delete plan node. (The plan nodes underneath this node represent
438+ the work of locating the old rows and/or computing the new ones.)
439+ Time spent firing triggers, if any, is charged to the Insert,
440+ Update, or Delete node, and is also shown separately for each trigger.
441+ Note, however, that deferred triggers will not be fired until end of
442+ transaction and are thus not accounted for in the output of
443+ <command>EXPLAIN ANALYZE</command>.
444+ </para>
445+
446+ <para>
447+ There are two significant ways in which runtimes measured by
448+ <command>EXPLAIN ANALYZE</command> can deviate from normal execution of
449+ the same query. First, since no output rows are delivered to the client,
450+ network transmission costs and I/O formatting costs are not included.
451+ Second, the overhead added by <command>EXPLAIN ANALYZE</command> can be
452+ significant, especially on machines with slow <function>gettimeofday()</>
453+ kernel calls.
445454 </para>
446455
447456 <para>
0 commit comments