mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Make EXPLAIN (BUFFERS) track blocks dirtied, as well as those written.
Also expose the new counters through pg_stat_statements. Patch by me. Review by Fujii Masao and Greg Smith.
This commit is contained in:
@ -99,6 +99,13 @@
|
||||
<entry>Total number of shared blocks reads by the statement</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structfield>shared_blks_dirtied</structfield></entry>
|
||||
<entry><type>bigint</type></entry>
|
||||
<entry></entry>
|
||||
<entry>Total number of shared blocks dirtied by the statement</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structfield>shared_blks_written</structfield></entry>
|
||||
<entry><type>bigint</type></entry>
|
||||
@ -120,6 +127,13 @@
|
||||
<entry>Total number of local blocks reads by the statement</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structfield>local_blks_dirtied</structfield></entry>
|
||||
<entry><type>bigint</type></entry>
|
||||
<entry></entry>
|
||||
<entry>Total number of local blocks dirtied by the statement</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structfield>local_blks_written</structfield></entry>
|
||||
<entry><type>bigint</type></entry>
|
||||
|
@ -155,14 +155,20 @@ ROLLBACK;
|
||||
<listitem>
|
||||
<para>
|
||||
Include information on buffer usage. Specifically, include the number of
|
||||
shared blocks hits, reads, and writes, the number of local blocks hits,
|
||||
reads, and writes, and the number of temp blocks reads and writes.
|
||||
A <quote>hit</> means that a read was avoided because the block was
|
||||
shared blocks hit, read, dirtied, and written, the number of local blocks
|
||||
hit, read, dirtied, and written, and the number of temp blocks read and
|
||||
written.
|
||||
A <emphasis>hit</> means that a read was avoided because the block was
|
||||
found already in cache when needed.
|
||||
Shared blocks contain data from regular tables and indexes;
|
||||
local blocks contain data from temporary tables and indexes;
|
||||
while temp blocks contain short-term working data used in sorts, hashes,
|
||||
Materialize plan nodes, and similar cases.
|
||||
The number of blocks <emphasis>dirtied</> indicates the number of
|
||||
previously unmodified blocks that were changed by this query; while the
|
||||
number of blocks <emphasis>written</> indicates the number of
|
||||
previously-dirtied blocks evicted from cache by this backend during
|
||||
query processing.
|
||||
The number of blocks shown for an
|
||||
upper-level node includes those used by all its child nodes. In text
|
||||
format, only non-zero values are printed. This parameter may only be
|
||||
|
Reference in New Issue
Block a user