Re: HOT for PostgreSQL 8.3 - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: HOT for PostgreSQL 8.3
Date
Msg-id 1171351502.3862.5.camel@localhost.localdomain
Whole thread Raw
In response to Re: HOT for PostgreSQL 8.3  (Heikki Linnakangas <heikki@enterprisedb.com>)
Responses Re: HOT for PostgreSQL 8.3  (Heikki Linnakangas <heikki@enterprisedb.com>)
List pgsql-hackers
Ühel kenal päeval, E, 2007-02-12 kell 17:23, kirjutas Heikki
Linnakangas:
> mark@mark.mielke.cc wrote:
> > On Mon, Feb 12, 2007 at 12:48:06AM -0500, Tom Lane wrote:
> >> We just finished sweating blood to get the tuple header size down to 23
> >> bytes from 27 (which saves 8 bytes not 4 if MAXALIGN=8).  We are not
> >> going to blow that again on HOT.
> > 
> > I haven't had enough time to follow all of the details here - but if the
> > ability to update a row with minimal overhead, as long as there is extra
> > room in the same block is a great idea (it sounds appealing to me) - could
> > it be done with just a 1 byte list? 24 instead of 23 for the tuple size.
> 
> Assuming 8k pages, you could in theory store reference to a line pointer 
> in just 1 byte.
> 
> But actually that 1 free byte in the header is not currently just waste 
> of space. If you have any nulls in your tuple, there's going to be a 
> null bitmap in addition to the header. 1 byte is conveniently enough to 
> store the null bitmap for a table with max 8 columns,

Are we actually doing that ? I.E are null bitmaps really allocated in 1
byte steps nowadays ?

> and if a table has 
> more than 8 columns, the extra 4 or 8 bytes needed for the null bitmap 
> probably doesn't matter so much because the tuples are quite wide anyway.
> 
-- 
----------------
Hannu Krosing
Database Architect
Skype Technologies OÜ
Akadeemia tee 21 F, Tallinn, 12618, Estonia

Skype me:  callto:hkrosing
Get Skype for free:  http://www.skype.com




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: OT: IRC nick to real world mapping
Next
From: Teodor Sigaev
Date:
Subject: Re: GiST Comparing IndexTuples/Datums