diff options
author | Andres Freund <andres@anarazel.de> | 2016-09-08 17:02:43 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2016-09-08 17:18:46 -0700 |
commit | 45e191e3aa62d47a8bc1a33f784286b2051f45cb (patch) | |
tree | a758d62f63c4123052167b2aa6baa1cb551c0dbc /src/backend/access/gist/gistxlog.c | |
parent | 417fefaf089fc0b73607cbbe8bcd0bc9e89d08ef (diff) | |
download | postgresql-45e191e3aa62d47a8bc1a33f784286b2051f45cb.tar.gz postgresql-45e191e3aa62d47a8bc1a33f784286b2051f45cb.zip |
Improve scalability of md.c for large relations.
So far md.c used a linked list of segments. That proved to be a problem
when processing large relations, because every smgr.c/md.c level access
to a page incurred walking through a linked list of all preceding
segments. Thus making accessing pages O(#segments).
Replace the linked list of segments hanging off SMgrRelationData with an
array of opened segments. That allows O(1) access to individual
segments, if they've previously been opened.
Discussion: <20140331101001.GE13135@alap3.anarazel.de>
Reviewed-By: Peter Geoghegan, Tom Lane (in an older version)
Diffstat (limited to 'src/backend/access/gist/gistxlog.c')
0 files changed, 0 insertions, 0 deletions