Hi! 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.
gist_sortsupport_sort_leaf_pages_by_ctid.patch
Description: Binary data