Buffering GiST index build algorithm.
When building a GiST index that doesn't fit in cache, buffers are attached
to some internal nodes in the index. This speeds up the build by avoiding
random I/O that would otherwise be needed to traverse all the way down the
tree to the find right leaf page for tuple.
Alexander Korotkov
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/5edb24a8983e4a103e26153853d91141f818227c
Modified Files
--------------
doc/src/sgml/gist.sgml | 34 +
doc/src/sgml/ref/create_index.sgml | 20 +
src/backend/access/common/reloptions.c | 11 +
src/backend/access/gist/Makefile | 2 +-
src/backend/access/gist/README | 135 ++++
src/backend/access/gist/gist.c | 211 +-----
src/backend/access/gist/gistbuild.c | 1068 ++++++++++++++++++++++++++++
src/backend/access/gist/gistbuildbuffers.c | 787 ++++++++++++++++++++
src/backend/access/gist/gistutil.c | 27 +-
src/backend/access/gist/gistxlog.c | 6 +-
src/include/access/gist_private.h | 182 +++++-
11 files changed, 2297 insertions(+), 186 deletions(-)