RE: Skip partition tuple routing with constant partition key

From: "houzj(dot)fnst(at)fujitsu(dot)com" <houzj(dot)fnst(at)fujitsu(dot)com>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: David Rowley <dgrowleyml(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "tsunakawa(dot)takay(at)fujitsu(dot)com" <tsunakawa(dot)takay(at)fujitsu(dot)com>
Subject: RE: Skip partition tuple routing with constant partition key
Date: 2021-05-27 06:56:24
Message-ID: OS0PR01MB57169DEA5CFDC23A1F4A832D94239@OS0PR01MB5716.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

From: Amit Langote <amitlangote09(at)gmail(dot)com>
Sent: Thursday, May 27, 2021 1:54 PM
> On Thu, May 27, 2021 at 11:47 AM houzj(dot)fnst(at)fujitsu(dot)com
> <houzj(dot)fnst(at)fujitsu(dot)com> wrote:
> > About teaching relcache about caching the target partition.
> >
> > David-san suggested cache the partidx in PartitionDesc.
> > And it will need looping and checking the cached value at each level.
> > I was thinking can we cache a partidx list[1, 2 ,3], and then we can
> > follow the list to get the last partition and do the partition CHECK
> > only for the last partition. If any unexpected thing happen, we can
> > return to the original table and redo the tuple routing without using the
> cached index.
> > What do you think ?
>
> Where are you thinking to cache the partidx list? Inside PartitionDesc or some
> executor struct?

I was thinking cache the partidx list in PartitionDescData which is in relcache, if possible, we can
use the cached partition between statements.

Best regards,
houzj

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bharath Rupireddy 2021-05-27 06:59:23 Re: Parallel Inserts in CREATE TABLE AS
Previous Message Andrey V. Lepikhov 2021-05-27 06:51:23 Re: Removing unneeded self joins