From: | Alexander Korotkov <akorotkov(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Reduce non-leaf keys overlap in GiST indexes produced by a sorte |
Date: | 2022-02-07 20:21:16 |
Message-ID: | E1nHAVg-0006y9-U5@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Reduce non-leaf keys overlap in GiST indexes produced by a sorted build
The GiST sorted build currently chooses split points according to the only page
space utilization. That may lead to higher non-leaf keys overlap and, in turn,
slower search query answers.
This commit makes the sorted build use the opclass's picksplit method. Once
four pages at the level are accumulated, the picksplit method is applied until
each split partition fits the page. Some of our split algorithms could show
significant performance degradation while processing 4-times more data at once.
But those opclasses haven't received the sorted build support and shouldn't
receive it before their split algorithms are improved.
Discussion: https://postgr.es/m/CAHqSB9jqtS94e9%3D0vxqQX5dxQA89N95UKyz-%3DA7Y%2B_YJt%2BVW5A%40mail.gmail.com
Author: Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin
Reviewed-by: Björn Harrtell, Darafei Praliaskouski, Andres Freund
Reviewed-by: Alexander Korotkov
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/f1ea98a7975e15cefdb446385880a2f55224ee7d
Modified Files
--------------
contrib/pageinspect/expected/gist.out | 18 +--
src/backend/access/gist/README | 16 ++
src/backend/access/gist/gistbuild.c | 271 +++++++++++++++++++++-------------
src/tools/pgindent/typedefs.list | 2 +-
4 files changed, 197 insertions(+), 110 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-02-07 21:16:36 | pgsql: Stamp 14.2. |
Previous Message | Peter Eisentraut | 2022-02-07 12:57:05 | pgsql: Translation updates |