Re: [PATCH] Add extra statistics to explain for Nested Loop

From: Ekaterina Sokolova <e(dot)sokolova(at)postgrespro(dot)ru>
To: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Cc: Greg Stark <stark(at)mit(dot)edu>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Lukas Fittl <lukas(at)fittl(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Add extra statistics to explain for Nested Loop
Date: 2022-04-01 20:46:47
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Hi, hackers. Thank you for your attention to this topic.

Julien Rouhaud wrote:
> +static void show_loop_info(Instrumentation *instrument, bool isworker,
> + ExplainState *es);
> I think this should be done as a separate refactoring commit.
Sure. I divided the patch. Now Justin's refactor commit is separated.
Also I actualized it a bit.

> Most of the comments I have are easy to fix. But I think that the real
> problem
> is the significant overhead shown by Ekaterina that for now would apply
> even if
> you don't consume the new stats, for instance if you have
> pg_stat_statements.
> And I'm still not sure of what is the best way to avoid that.
I took your advice about InstrumentOption. Now INSTRUMENT_EXTRA exists.
So currently it's no overheads during basic load. Operations using
INSTRUMENT_ALL contain overheads (because of INSTRUMENT_EXTRA is a part
of INSTRUMENT_ALL), but they are much less significant than before. I
apply new overhead statistics collected by pgbench with auto _explain

> Why do you need to initialize min_t and min_tuples but not max_t and
> max_tuples while both will initially be 0 and possibly updated
> afterwards?
We need this initialization for min values so comment about it located
above the block of code with initialization.

I am convinced that the latest changes have affected the patch in a
positive way. I'll be pleased to hear your thoughts on this.

Ekaterina Sokolova
Postgres Professional:
The Russian Postgres Company

Attachment Content-Type Size
0001-explain.c-refactor-ExplainNode_v2.patch text/x-diff 4.8 KB
0002-extra_statistics_v7.patch text/x-diff 19.2 KB
overhead_v1.txt text/plain 1.2 KB


Browse pgsql-hackers by date

  From Date Subject
Next Message Euler Taveira 2022-04-01 20:59:51 merge documentation fix
Previous Message Andrew Dunstan 2022-04-01 20:25:44 Re: Can we automatically add elapsed times to tap test log?