| From: | Tomas Vondra <tomas(at)vondra(dot)me> |
|---|---|
| To: | Chengpeng Yan <chengpeng_yan(at)Outlook(dot)com> |
| Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, John Naylor <johncnaylorls(at)gmail(dot)com> |
| Subject: | Re: Add a greedy join search algorithm to handle large join problems |
| Date: | 2025-12-09 19:20:32 |
| Message-ID: | 5abd6054-413c-4f48-9172-d8b31062b266@vondra.me |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 12/2/25 14:04, Chengpeng Yan wrote:
> Hi,
>
>
>
>> On Dec 2, 2025, at 18:56, Tomas Vondra <tomas(at)vondra(dot)me> wrote:
>>
>> I think a much broader evaluation will be needed, comparing not just the
>> planning time, but also the quality of the final plan. Which for the
>> starjoin tests does not really matter, as the plans are all equal in
>> this regard.
>
>
> Many thanks for your feedback.
>
> You are absolutely right — plan quality is also very important. In my
> initial email I only showed the improvements in planning time, but did
> not provide results regarding plan quality. I will run tests on more
> complex join scenarios, evaluating both planning time and plan quality.
>
I was trying to do some simple experiments by comparing plans for TPC-DS
queries, but unfortunately I get a lot of crashes with the patch. All
the backtraces look very similar - see the attached example. The root
cause seems to be that sort_inner_and_outer() sees
inner_path = NULL
I haven't investigated this very much, but I suppose the GOO code should
be calling set_cheapest() from somewhere.
regards
--
Tomas Vondra
| Attachment | Content-Type | Size |
|---|---|---|
| crash.txt | text/plain | 8.2 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2025-12-09 19:22:09 | Re: Adding REPACK [concurrently] |
| Previous Message | Melanie Plageman | 2025-12-09 19:10:24 | Re: [PATCH] VACUUM: avoid pre-creation transactions holding back cleanup of newly created relations |