Re: explain format json, unit for serialize and memory are different.

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: jian he <jian.universality@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Michael Paquier <michael@paquier.xyz>, Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-05-15T04:44:32Z
Lists: pgsql-hackers
On Wed, 15 May 2024 at 15:40, jian he <jian.universality@gmail.com> wrote:
> I am looking for an example where this information under json key
> "Serialization" is not zero.
> So far I have tried:

Something that requires detoasting.

> create table s(a text);
> insert into s select repeat('a', 1024) from generate_series(1,1024);
> explain (format json, analyze, wal, buffers, memory, serialize, timing
> off)  select * from s;

Something bigger than 1024 bytes or use SET STORAGE EXTERNAL or EXTENDED.

create table s(a text);
insert into s select repeat('a', 1024*1024) from generate_series(1,10);
explain (format text, analyze, buffers, serialize, timing off)  select * from s;

 Serialization: output=10241kB  format=text
   Buffers: shared hit=36

David



Commits

  1. Fix some inconsistencies in EXPLAIN output