-
- Downloads
Resurrect heap_deformtuple(), this time implemented as a singly nested
loop over the fields instead of a loop around heap_getattr. This is considerably faster (O(N) instead of O(N^2)) when there are nulls or varlena fields, since those prevent use of attcacheoff. Replace loops over heap_getattr with heap_deformtuple in situations where all or most of the fields have to be fetched, such as printtup and tuptoaster. Profiling done more than a year ago shows that this should be a nice win for situations involving many-column tables.
Showing
- src/backend/access/common/heaptuple.c 166 additions, 114 deletionssrc/backend/access/common/heaptuple.c
- src/backend/access/common/printtup.c 48 additions, 16 deletionssrc/backend/access/common/printtup.c
- src/backend/access/heap/tuptoaster.c 41 additions, 29 deletionssrc/backend/access/heap/tuptoaster.c
- src/backend/commands/tablecmds.c 8 additions, 17 deletionssrc/backend/commands/tablecmds.c
- src/backend/commands/typecmds.c 2 additions, 6 deletionssrc/backend/commands/typecmds.c
- src/backend/executor/execJunk.c 36 additions, 13 deletionssrc/backend/executor/execJunk.c
- src/backend/executor/spi.c 3 additions, 8 deletionssrc/backend/executor/spi.c
- src/include/access/heapam.h 10 additions, 5 deletionssrc/include/access/heapam.h
Loading
Please register or sign in to comment