Re: [PATCH] Add sortsupport for range types and btree_gist

From: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Bernd Helmle <mailings(at)oopsware(dot)de>, jian he <jian(dot)universality(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Add sortsupport for range types and btree_gist
Date: 2024-11-29 09:41:56
Message-ID: 52D98799-54D0-4902-A65B-ED3443C7D58C@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Thanks for your valuable input, Michael!

> On 29 Nov 2024, at 09:42, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> As a whole, I'm very dubious about the need for injection points at
> all here. The sortsupport property claimed for this patch tells that
> this results in smaller index sizes, but the tests don't really check
> that: they just make sure that sortsupport routine paths are taken.
> What this should test is not the path taken, but how the new code
> affects the index data generated.

Actually, that’s exactly what we wanted to test: which paths are taken.
Resulting index might be of a very same size in case of B-tree-over-GiST. Resulting index is drastically smaller for geometry, e.g. PostGIS. But event that’s not main effect: the index is simply build much faster (on par with actual B-tree).
We need this sort support for btree_gist to be able to use non-geometry datatypes in combination with geometry.
e.g.
CREATE INDEX ON table USING gist(project_id_of_type_int,geometric_column);
Currently, having anything non-geometric in GiST slows down it 10x, because sorting build path is not taken.
In PG15 we put extra effort to make resulting indexes indistinguishable from normally-built. Primarily for the sake of IndexScan performance.

Best regards, Andrey Borodin.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2024-11-29 09:42:31 how to get MAJORVERSION in meson
Previous Message David Rowley 2024-11-29 09:20:09 Re: Remove useless GROUP BY columns considering unique index