explain analyze output with parallel workers - question about meaning of information for explain.depesz.com

From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: pgsql-general mailing list <pgsql-general(at)postgresql(dot)org>
Subject: explain analyze output with parallel workers - question about meaning of information for explain.depesz.com
Date: 2017-11-17 15:12:54
Message-ID: 20171117151253.GA27124@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

up to parallel executions, when we had node in explain analyze showing
"loops=x" with x more than 1, it meant that the "actual time" had to be
multiplied by loops to get real time spent in a node.

For example, check step 13 in https://explain.depesz.com/s/gNBd

It shows time of 3ms, but loops of 1873, so the actual time is ~ 5600ms.

But with parallel execution it seems to be no longer the case.

For example:
https://explain.depesz.com/s/LTMp
or
https://explain.depesz.com/s/QHRi

It looks that the actual time is really actual time, and loops is
"worker nodes + 1".

Is that really the case? Should I, for explain.depesz.com, when dealing
with partial* and parallel* nodes, use "loops=1" for calculation of
exclusive/inclusive time? always? some other nodes?

or am I missing something in here?

Best regards,

depesz

Browse pgsql-general by date

  From Date Subject
Next Message rammohan ganapavarapu 2017-11-17 15:43:57 Re: Can master and slave on different PG versions?
Previous Message Scott Mead 2017-11-17 13:49:30 Re: mild modification to pg_dump