diff options
author | Andres Freund | 2016-09-09 00:02:43 +0000 |
---|---|---|
committer | Andres Freund | 2016-09-09 00:18:46 +0000 |
commit | 45e191e3aa62d47a8bc1a33f784286b2051f45cb (patch) | |
tree | a758d62f63c4123052167b2aa6baa1cb551c0dbc /src/backend/access/gist/gist.c | |
parent | 417fefaf089fc0b73607cbbe8bcd0bc9e89d08ef (diff) |
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: <[email protected]>
Reviewed-By: Peter Geoghegan, Tom Lane (in an older version)
Diffstat (limited to 'src/backend/access/gist/gist.c')
0 files changed, 0 insertions, 0 deletions