Re: [WIP] Performance Improvement by reducing WAL for Update Operation - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: [WIP] Performance Improvement by reducing WAL for Update Operation
Date
Msg-id 50239158.6010601@enterprisedb.com
Whole thread Raw
In response to Re: [WIP] Performance Improvement by reducing WAL for Update Operation  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: [WIP] Performance Improvement by reducing WAL for Update Operation
List pgsql-hackers
On 09.08.2012 12:18, Simon Riggs wrote:
> On 9 August 2012 09:49, Amit Kapila<amit.kapila@huawei.com>  wrote:
>
>>    WAL reduction is done for the case even when old and new are on different
>> data blocks as well.
>
> That makes me feel nervous. I doubt the marginal gain is worth it.
> Most updates don't cross blocks.

That was my first instinctive reaction too. But if the mechanism works 
just as well for cross-page updates, seems a bit strange to not use it.

One argument would be that if for some reason the old block is corrupt 
or lost, you would not be able to recover the new version of the tuple 
from the WAL alone. At the moment, it's nice that the WAL record 
contains all the information required to reconstruct the new tuple, 
regardless of the old data block contents. But then again, full-page 
writes cover that too. There will be a full-page image of the old block 
in the WAL anyway.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: patch submission: truncate trailing nulls from heap rows to reduce the size of the null bitmap
Next
From: Simon Riggs
Date:
Subject: Re: [WIP] Performance Improvement by reducing WAL for Update Operation