Re: Turning off HOT/Cleanup sometimes - Mailing list pgsql-hackers

From Emanuel Calvo
Subject Re: Turning off HOT/Cleanup sometimes
Date
Msg-id 54177869.5000208@esdebian.org
Whole thread Raw
In response to Re: Turning off HOT/Cleanup sometimes  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
El 14/09/14 17:37, Simon Riggs escribió:
> On 12 September 2014 18:19, Simon Riggs <simon@2ndquadrant.com> wrote:
>> On 12 September 2014 15:30, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> After a little bit I remembered there was already a function for this.
>>> So specifically, I'd suggest using ExecRelationIsTargetRelation()
>>> to decide whether to mark the scan as requiring pruning.
>> Sounds cool. Thanks both, this is sounding like a viable route now.
> Yes, this is viable.
>
> Patch attached, using Alvaro's idea of use-case specific pruning and
> Tom's idea of aiming at target relations. Patch uses or extends
> existing infrastructure, so its shorter than it might have been, yet
> with all that bufmgr yuck removed.
>
> This is very, very good because while going through this I notice the
> dozen or more places where we were pruning blocks in annoying places I
> didn't even know about such as about 4-5 constraint checks. In more
> than a few DDL commands like ALTER TABLE and CLUSTER we were even
> pruning the old relation prior to rewrite.
>

A simple performance test with the following variables:
LOOP=50
CONN=60
TXSS=500
SCALE=30


Select only:
WITH PATCH
Average:  20716.1 tps

NO PATCH
Average:  19141.7 tps


With writes:
WITH PATCH
Average:  2602.65

NO PATCH
Average:  2565.32


TODO:
- Consistency check.
- ALTER and CLUSTER test.







pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: B-Tree support function number 3 (strxfrm() optimization)
Next
From: Peter Geoghegan
Date:
Subject: Re: jsonb format is pessimal for toast compression