During recent tuning of the TPC-C workload, I produced the following patch to force COPY to leave some space in each data block when it loads data into heap relations.
I can't get too excited about incorporating changes designed solely to improve performance for the workload of a specific database benchmark. If the change has merit in some plausible "real world" situations, so be it -- but if not, I don't see the point.
Each UPDATE tries to insert a new row version. The blocks are all full,
so each UPDATE causes this activity:
read block, decide cannot insert, unlock block
extend relation by 1 block
relock first block, lock new block
insert row into new block
After the patch, most UPDATEs cause only a single block access/update,
excluding the index effects.
Did you do any benchmarks to measure the performance of the patch?
-Neil
---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
