Skip site navigation (1) Skip section navigation (2)

Re: Reduce heap tuple header size

From: Jan Wieck <JanWieck(at)Yahoo(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Manfred Koizar <mkoi-pg(at)aon(dot)at>,pgsql-patches(at)postgresql(dot)org
Subject: Re: Reduce heap tuple header size
Date: 2002-06-21 12:55:46
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackerspgsql-patches
Bruce Momjian wrote:
> Tom Lane wrote:
> > Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > > Tom Lane wrote:
> > >> Are you planning to ignore my objections to it?
> >
> > > The author replied addressing your objections and I saw no reply from on
> > > on that.
> >
> > He replied stating his opinion; my opinion didn't change.  I was waiting
> > for some other people to weigh in with their opinions.  As far as I've
> > seen, no one else has commented at all.
> >
> > If I get voted down on the point after suitable discussion, so be it.
> > But I will strongly object to you applying the patch just because it's
> > next in your inbox.
> Tom, I have reviewed your objections:
> > As I commented before, I am not in favor of this.  I don't think that a
> > four-byte savings justifies a forced initdb with no chance of
> > pg_upgrade, plus loss of redundancy (= reduced chance of detecting or
> > recovering from corruption), plus significantly slower access to
> > several critical header fields.  The tqual.c routines are already
> > hotspots in many scenarios.  I believe this will make them noticeably
> > slower.
> I don't think enough people use pg_upgrade to make it a reason to keep
> an extra four bytes of tuple overhead.  I realize 8-byte aligned systems
> don't benefit, but most of our platforms are 4-byte aligned.  I don't
> consider redundency a valid reason either.  We just don't have many
> table corruption complaints, and the odds that having an extra 4 bytes
> is going to make detection or correction better is unlikely.

The non-overwriting storage management (which is one reason why whe need
all these header fields) causes over 30 bytes of row overhead anyway. I
am with Tom here, 4 bytes per row isn't worth making the tuple header
variable length size.

> The author addressed the slowness complaint and seemed to refute the
> idea it would be slower.

Do we have any hard numbers on that? Is it just access to the header
fields, or do we loose the offset cacheability of all fixed size fields
at the beginning of a row? In the latter case count me into the
slowness-believer camp.



# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck(at)Yahoo(dot)com #

In response to


pgsql-hackers by date

Next:From: Bruce MomjianDate: 2002-06-21 13:19:37
Subject: Re: Reduce heap tuple header size
Previous:From: Satoshi NagayasuDate: 2002-06-21 12:49:10
Subject: libpq for PalmOS (I need help)

pgsql-patches by date

Next:From: Bruce MomjianDate: 2002-06-21 13:19:37
Subject: Re: Reduce heap tuple header size
Previous:From: Dave PageDate: 2002-06-21 09:45:15
Subject: ODBC Patch to prevent setting of KSQO on 7.3+ servers

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group