Re: Speeding up creating UPDATE/DELETE generic plan for partitioned table into a lot

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: "Kato, Sho" <kato-sho(at)jp(dot)fujitsu(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Speeding up creating UPDATE/DELETE generic plan for partitioned table into a lot
Date: 2018-12-21 08:45:24
Message-ID: cb408bb6-f03d-d95f-6915-6a7a3ae0c8ac@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kato-san,

On 2018/12/21 15:36, Kato, Sho wrote:
> Hi,
> I want to speed up the creation of UPDATE/DELETE generic plan for tables partitioned into a lot.
>
> Currently, creating a generic plan of UPDATE/DELTE for such table, planner creates a plan to scan all partitions.
> So it takes a very long time.
> I tried with a table partitioned into 8192, it took 12 seconds.
>
> In most cases, since the partitions to access are partial, I think planner does not need to create a Scan path for every partition.

What do you mean by "since the partitions to access are partial"?

> Is there any better way? For example, can planner create generic plans from the parameters specified for EXECUTE?

Well, a generic plan is, by definition, *not* specific to the values of
parameters, so it's not clear what you're suggesting here.

Thanks,
Amit

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2018-12-21 09:53:10 could recovery_target_timeline=latest be the default in standby mode?
Previous Message Kato, Sho 2018-12-21 08:43:47 Performance of SELECT in a table partitioned into a lot