RE: "actual time" in QUERY PLAN for parallel operation when loops is bigger than 1

Поиск
Список
Период
Сортировка
От tanghy.fnst@fujitsu.com
Тема RE: "actual time" in QUERY PLAN for parallel operation when loops is bigger than 1
Дата
Msg-id OS0PR01MB6113C289C98292B04F808B32FB9A9@OS0PR01MB6113.jpnprd01.prod.outlook.com
обсуждение исходный текст
Ответ на Re: "actual time" in QUERY PLAN for parallel operation when loops is bigger than 1  (Guillaume Lelarge <guillaume@lelarge.info>)
Список pgsql-docs

On Wednesday, November 17, 2021 4:19 PM, Guillaume Lelarge guillaume@lelarge.info wrote:

>> ->  Parallel Seq Scan on c  (cost=0.00..8591.67 rows=416667 width=0) (actual time=0.030..140.036 rows=333333 loops=3)
>In my previous example, actual row number is 333333*3=1e6(which is correct), so I think the actual time is 140.036*3ms.
>Do your think the loops(3) has no meaning for parallel scan node when calculate actual time?
>

>As far as I understand it, you have to multiply the number of rows by the number of loops, but this doesn't apply to duration at least for parallel >queries.

 

Yes, I got your point.

I’m not familiar with PostgreSQL planner/executor, but if the code is correct, then maybe some modification should be done at [1] as below:

Before:

Multiply by the loops value to get the total time actually spent in the node.

 

After:

Multiply by the loops value to get the total time actually spent in the node (for node in the parallel portion of the plan, this is not needed).

 

[1] https://www.postgresql.org/docs/14/using-explain.html

 

What do you think?

 

Regards,

Tang

В списке pgsql-docs по дате отправления:

Предыдущее
От: Guillaume Lelarge
Дата:
Сообщение: Re: "actual time" in QUERY PLAN for parallel operation when loops is bigger than 1
Следующее
От: PG Doc comments form
Дата:
Сообщение: Explicit or implicit?