Improve bulk-insert performance by keeping the current target buffer pinned
(but not locked, as that would risk deadlocks). Also, make it work in a small ring of buffers to avoid having bulk inserts trash the whole buffer arena. Robert Haas, after an idea of Simon Riggs'.
Showing
- src/backend/access/heap/heapam.c 48 additions, 20 deletionssrc/backend/access/heap/heapam.c
- src/backend/access/heap/hio.c 70 additions, 19 deletionssrc/backend/access/heap/hio.c
- src/backend/access/heap/rewriteheap.c 4 additions, 2 deletionssrc/backend/access/heap/rewriteheap.c
- src/backend/access/heap/tuptoaster.c 9 additions, 14 deletionssrc/backend/access/heap/tuptoaster.c
- src/backend/commands/copy.c 11 additions, 7 deletionssrc/backend/commands/copy.c
- src/backend/executor/execMain.c 16 additions, 11 deletionssrc/backend/executor/execMain.c
- src/backend/storage/buffer/README 5 additions, 1 deletionsrc/backend/storage/buffer/README
- src/backend/storage/buffer/freelist.c 4 additions, 1 deletionsrc/backend/storage/buffer/freelist.c
- src/include/access/heapam.h 11 additions, 2 deletionssrc/include/access/heapam.h
- src/include/access/hio.h 19 additions, 2 deletionssrc/include/access/hio.h
- src/include/access/tuptoaster.h 2 additions, 2 deletionssrc/include/access/tuptoaster.h
- src/include/storage/bufmgr.h 2 additions, 1 deletionsrc/include/storage/bufmgr.h
Loading
Please register or sign in to comment