Re: 9.3: load path to mitigate load penalty for checksums - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: 9.3: load path to mitigate load penalty for checksums
Date
Msg-id 1339555274.16373.61.camel@sussancws0025
Whole thread Raw
In response to Re: 9.3: load path to mitigate load penalty for checksums  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Tue, 2012-06-12 at 22:06 -0400, Robert Haas wrote:
> > How much of a savings did we get from PD_ALL_VISIBLE when it was added
> > into the page-at-a-time visibility check?
> >
> > >From 608195a3a3656145a7eec7a47d903bc684011d73:
> >
> > "In addition to the visibility map, there's a new PD_ALL_VISIBLE flag on
> > each heap page, also indicating that all tuples on the page are visible
> > to all transactions. It's important that this flag is kept up-to-date.
> > It is also used to skip visibility tests in sequential scans, which
> > gives a small performance gain on seqscans."
> >
> > If "small" means that it's something we can give up, then focusing on
> > HEAP_XMIN_COMMITTED makes sense. But if we can't give it up, then we
> > need to take it into account in the proposal.
> 
> It's significant.

In that case, the proposals that only involve HEAP_XMIN_COMMITTED don't
seem viable to me. To get maxiumum read speed, we will need to set
PD_ALL_VISIBLE also, and that means rewriting the entire table anyway
(for the workload that I'm describing).

However, maybe if we combine the approaches, readers could ignore
PD_ALL_VISIBLE during the load, which looks like maybe a 10% penalty,
without having to ignore HEAP_XMIN_COMMITTED (which seems much more
costly to ignore).

Regards,Jeff Davis




pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: 16-bit page checksums for 9.2
Next
From: Bruce Momjian
Date:
Subject: Re: Avoiding adjacent checkpoint records