From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Richard Guo <guofenglinux(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: fix cost subqueryscan wrong parallel cost |
Date: | 2022-05-04 18:48:38 |
Message-ID: | 2455611.1651690118@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Tue, May 3, 2022 at 2:13 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> In any case, fundamental redesign of what EXPLAIN prints is a job
>> for v16 or later. Are you okay with the proposed patch as a v15 fix?
> Yes. I can't really vouch for it, but I don't object to it.
I re-read the patch and noticed that I'd missed one additional change
needed:
- run_cost = cpu_per_tuple * baserel->tuples;
+ run_cost = cpu_per_tuple * path->subpath->rows;
That is, we should estimate the number of qual evaluations and
cpu_tuple_cost charges based on the subpath row count not the
non-parallel-aware relation size. So this reduces the cost of
the SubqueryScan itself, as well as its row count, in partial paths.
I don't see any further change in regression test results though.
Pushed with that change.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2022-05-04 19:01:27 | Re: Query generates infinite loop |
Previous Message | Pavel Stehule | 2022-05-04 18:48:02 | Re: strange slow query - lost lot of time somewhere |