Re: make add_paths_to_append_rel aware of startup cost

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Zhang Mingli <zmlpostgres(at)gmail(dot)com>
Subject: Re: make add_paths_to_append_rel aware of startup cost
Date: 2023-10-04 00:41:24
Message-ID: CAApHDvrgSM5mdix-2YLYMJVaz+-vEq5mBPQ4jbDJYpy3=rc7dQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, 1 Oct 2023 at 21:26, Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> wrote:
>> But overall, I'm more inclined to just go with the more simple "add a
>> cheap unordered startup append path if considering cheap startup
>> plans" version. I see your latest patch does both. So, I'd suggest two
>> patches as I do see the merit in keeping this simple and cheap. If we
>> can get the first part in and you still find cases where you're not
>> getting the most appropriate startup plan based on the tuple fraction,
>> then we can reconsider what extra complexity we should endure in the
>> code based on the example query where we've demonstrated the planner
>> is not choosing the best startup path appropriate to the given tuple
>> fraction.
>
> I think this is a fair point, I agree that your first part is good enough to be
> committed first. Actually I tried a lot to make a test case which can prove
> the value of cheapest fractional cost but no gain so far:(

I've attached a patch with the same code as the previous patch but
this time including a regression test.

I see no reason to not commit this so if anyone feels differently
please let me know.

David

Attachment Content-Type Size
consider_cheapest_startup_appendpath_v2.patch application/octet-stream 3.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2023-10-04 01:00:34 RE: [PoC] pg_upgrade: allow to upgrade publisher node
Previous Message Daniel Fredouille 2023-10-04 00:40:40 Re: unnest multirange, returned order