Re: [PATCH] sort leaf pages by ctid for gist indexes built using sorted method

From: Andres Freund <andres(at)anarazel(dot)de>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: Aliaksandr Kalenik <akalenik(at)kontur(dot)io>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [PATCH] sort leaf pages by ctid for gist indexes built using sorted method
Date: 2022-03-22 01:23:07
Message-ID: 20220322012307.wladipqgecbwqpjv@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2021-12-16 14:49:25 +0500, Andrey Borodin wrote:
>
> > With the current implementation, for GiST indexes created by doing multiple inserts, index tuples match heap tuples order, but it doesn't work that way for sorted method where index tuples on all levels are ordered using comparator provided in sortsupport (z-order for geometry type, for example). This means two tuples that are on the same heap page can be far apart from one another on an index page, and the heap page may be read twice and prefetch performance will degrade.
> >
> > I've created a patch intended to improve that by sorting index tuples by heap tuples TID order on leaf pages.
>
> Thanks you for the patch. The code looks nice and clean.

The patch fails currently doesn't apply: http://cfbot.cputube.org/patch_37_3454.log

> But can we have some benchmarks showing that this optimization really helps?

As there hasn't been a response to this even in the last CF, I'm going to mark
this entry as returned with feedback (IMO shouldn't even have been moved to
this CF).

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2022-03-22 01:25:39 Re: speed up a logical replica setup
Previous Message Andres Freund 2022-03-22 01:18:20 Re: postgres_fdw: using TABLESAMPLE to collect remote sample