Re: Add a greedy join search algorithm to handle large join problems

From: lakshmi <lakshmigcdac(at)gmail(dot)com>
To: Tomas Vondra <tomas(at)vondra(dot)me>
Cc: Chengpeng Yan <chengpeng_yan(at)outlook(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, John Naylor <johncnaylorls(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Add a greedy join search algorithm to handle large join problems
Date: 2026-02-16 10:44:16
Message-ID: CAEvyyTigh2eB9hGirHzAC9j3SrMW1otMNxm7yHYOU3xs8x+FLA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tomas,

Thank you for the question.
The 15-table and 20-table results I shared were obtained using a synthetic
join workload designed to stress join-order planning and measure
planning-time scaling, rather than a JOB or TPC-H query.
Each query is essentially a left-deep chain of equality joins over simple
tables. For reference, the structure is equivalent to:

15-table join

SELECT count(*)

FROM t1

JOIN t2 ON t1.id = t2.id

JOIN t3 ON t2.id = t3.id

...

JOIN t15 ON t14.id = t15.id;

20-table join

SELECT count(*)

FROM t1

JOIN t2 ON t1.id = t2.id

JOIN t3 ON t2.id = t3.id

...

JOIN t20 ON t19.id = t20.id;

Regarding planner settings:

-geqo_threshold was set to:

a high value (e.g., 100) to force DP

a low value (e.g., 2) to allow GEQO/GOO

-enable_goo_join_search was toggled on/off depending on the comparison
being measured.

-Other planner parameters, including join_collapse_limit, were left at
their default values.

So these experiments mainly evaluate planning-time scaling and basic plan
sanity on a controlled join graph, rather than realistic workload plan
quality.

I’m currently preparing additional tests using selected JOB queries to
provide more meaningful plan-quality comparisons and will share those
results once available.

Regards
Lakshmi

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Soumya S Murali 2026-02-16 10:44:29 Re: [Patch]Add tab completion for DELETE ... USING
Previous Message Tomas Vondra 2026-02-16 10:43:07 Re: Crash related to Shared Memory