Re: EXPLAIN: Non-parallel ancestor plan nodes exclude parallel worker instrumentation - Mailing list pgsql-hackers

From Maciek Sakrejda
Subject Re: EXPLAIN: Non-parallel ancestor plan nodes exclude parallel worker instrumentation
Date
Msg-id CAOtHd0CyX-O_rVhMMVErKh9GWypm4VgMq1P4_u30=VpNsKEvhA@mail.gmail.com
Whole thread Raw
In response to Re: EXPLAIN: Non-parallel ancestor plan nodes exclude parallel worker instrumentation  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: EXPLAIN: Non-parallel ancestor plan nodes exclude parallel worker instrumentation
List pgsql-hackers
On Tue, Jun 23, 2020 at 2:57 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
> I don't think this is an odd situation because in this case, child
> nodes like "Nested Loop" and "Parallel Seq Scan" has a value of
> 'loops' as 3.  So, to get the correct stats at those nodes, you need
> to divide it by 3 whereas, at Gather node, the value of 'loops' is 1.
> If you want to verify this thing then try with a plan where loops
> should be 1 for child nodes as well, you should get the same value at
> both Gather and Parallel Seq Scan nodes.

Thanks for the response, but I still don't follow. I had assumed that
loops=3 was just from loops=1 for the parallel leader plus loops=1 for
each worker--is that not right? I don't see any other reason for
looping over the NL node itself in this plan. The Gather itself
doesn't do any real looping, right?

But even so, the documentation [1] states:

>In some query plans, it is possible for a subplan node to be executed more than once. For example, the inner index
scanwill be executed once per outer row in the above nested-loop plan. In such cases, the loops value reports the total
numberof executions of the node, and the actual time and rows values shown are averages per-execution. This is done to
makethe numbers comparable with the way that the cost estimates are shown. Multiply by the loops value to get the total
timeactually spent in the node. 

So we should be seeing an average, not a sum, right?

[1]: https://www.postgresql.org/docs/current/using-explain.html#USING-EXPLAIN-ANALYZE



pgsql-hackers by date:

Previous
From: Melanie Plageman
Date:
Subject: Re: Extracting only the columns needed for a query
Next
From: Alvaro Herrera
Date:
Subject: pg_bsd_indent compiles bytecode