On Friday, January 11, 2013 6:45 PM Simon Riggs wrote:
> On 28 December 2012 10:21, Simon Riggs <simon@2ndquadrant.com> wrote:
>
> > * There is a fixed 75% heuristic in the patch.
>
> I'm concerned that we're doing extra work while holding the buffer
> locked, which will exacerbate any block contention that exists.
>
> We have a list of the columns that the UPDATE is touching since we use
> that to check column permissions for the UPDATE. Which means we should
> be able to use that list to check only the columns actually changing
> in this UPDATE statement.
>
> That will likely save us some time during the compression check.
>
> Can you look into that please? I don't think it will be much work.
IIUC, I have done that way in the initial version of the patch that is do
encoding for modified columns.
I have mentioned reference of my initial patch as below:
modifiedCols = (rt_fetch(resultRelInfo->ri_RangeTableIndex,
+
estate->es_range_table)->modifiedCols);
http://archives.postgresql.org/message-id/6C0B27F7206C9E4CA54AE035729E9C3828
52DE51@szxeml509-mbs
1. However Heikki has pointed, it has some problems similar to for HOT
implementation and that is the reason we have done memcmp for HOT.
2. Also we have found in initial readings that this doesn't have any
performance difference as compare to current Approach.
> I've moved this to the next CF. I'm planning to review this one first.
Thank you.
With Regards,
Amit Kapila.