On Tue, Jun 12, 2012 at 01:31:05PM -0400, Tom Lane wrote:
> Robert Haas <robertmh...@gmail.com> writes:
> > I don't think it's going to solve the problem in general, but TBH I
> > don't think Jeff's proposal is, either.  I mean, ignoring
> > xmin-committed, xmax-committed, and all-visible bits is going to come
> > with a pretty steep performance penalty all of its own.  I don't doubt
> > that you can construct situations in which it's better than incurring
> > the I/O associated with setting those bits after the fact, but I also
> > don't doubt that the reverse is true.  Furthermore, any system that
> > involves sometimes ignoring those things is going to add cost in
> > extremely hot code paths even when the user doesn't elect to take
> > advantage of the new feature.
> 
> Yeah; the notion of adding cycles to the visibility-check code paths,
> which would add cost even for users who have no use at all for this
> feature, is close to being a deal-breaker for me.  I would rather see
> us designing this around the idea of "what can we do without adding
> any new complexity in visibility checks?".
> 
> At least for MVCC cases (hence, user tables only), it seems like we
> could pre-set XMIN_COMMITTED hint bits if there were a way to be sure
> that the XID in question would be seen as still running in the followup
> snapshot check that every MVCC visibility test must make anyway.  The
> hard part of that seems to be post-crash behavior, but maybe it'd be
> acceptable to incur crash-recovery-time cost to run around and unset
> such bits?

Well, truncating tables that were empty on the load would certainly be
a easy to do --- not sure if that helps us, though.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to