Re: [PATCH] reduce page overlap of GiST indexes built using sorted method
sergei sh. <sshoulbakov@kontur.io>
From: "sergei sh." <sshoulbakov@kontur.io>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2022-01-26T16:07:00Z
Lists: pgsql-hackers
Attachments
- 04_reduce_page_overlap_of_gist_indexes_built_using_sorted_method.patch (text/x-patch) patch
- create-1-9.png (image/png)
- self-join-1-9.png (image/png)
- tiling-1-9.png (image/png)
On 1/23/22 12:33, Andrey Borodin wrote: > > >> 19 янв. 2022 г., в 09:31, Andrey Borodin <x4mmm@yandex-team.ru> написал(а): >>> >>> I've addressed Andrey Borodin's concerns about v2 of this patch by Aliaksandr >>> Kalenik in attached version. >> >> Thank you! I'll make a new iteration of review. From a first glance everything looks good, but gist_sorted_build_page_buffer_size haven't any documentation.... > > I've made one more iteration. The code generally looks OK to me. > > Some nitpicking: > 1. gist_sorted_build_page_buffer_size is not documented yet > 2. Comments correctly state that check for interrupts is done once per whatever. Let's make "whatever" == "1 page flush" again. > 3. There is "Size i" in a loop. I haven't found usage of Size, but many size_t-s. For the same purpose in the same file mostly "int i" is used. > 4. Many multiline comments are formatted in an unusual manner. > > Besides this I think the patch is ready for committer. > > Thanks! > > Best regards, Andrey Borodin. > Hi, I've fixed issues 2 -- 4 in attached version. GUC parameter has been removed for the number of pages to collect before splitting and fixed value of 4 is used instead, as discussed off-list with Andrey Borodin, Aliaksandr Kalenik, Darafei Praliaskouski. Benchmarking shows that using higher values has almost no effect on query efficiency while increasing index building time. PSA graphs for index creation and query time, "tiling" and "self-join" refer to queries used in previous benchmarks: https://github.com/mngr777/pg_index_bm2 Sorted build method description has been added in GiST README.
Commits
-
Reduce non-leaf keys overlap in GiST indexes produced by a sorted build
- f1ea98a7975e 15.0 landed