Re: Block B-Tree concept - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Block B-Tree concept
Date
Msg-id 451CECA4.90300@enterprisedb.com
Whole thread Raw
In response to Re: Block B-Tree concept  (Heikki Linnakangas <heikki@enterprisedb.com>)
Responses Re: Block B-Tree concept  (Martijn van Oosterhout <kleptog@svana.org>)
Re: Block B-Tree concept  (Simon Riggs <simon@2ndquadrant.com>)
Re: Block B-Tree concept  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Heikki Linnakangas wrote:
> If we want to keep the property that VACUUM doesn't re-evaluate index 
> entries, any proposal that doesn't keep track of every heap tuple 
> isn't going to work. I'll try to modify the design I had in mind so 
> that it does keep track of every heap tuple in some form.
After some thought:

Imagine a normal B-tree just like what we have now. But when there is 
more than one tuple on the same heap page with consecutive index keys, 
we represent all of them in a single index tuple that contains the key 
of the first one of them, and a (run-length encoded) bitmap of the 
OffsetNumbers. We should get most of the space and I/O savings as with 
the original proposal, but we can vacuum it without re-evaluating index 
expressions.

It does change the format of an index tuple, unlike the original 
proposal. That adds some complexity. but it's doable.

-- 
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Markus Schaber
Date:
Subject: Re: Faster StrNCpy
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Another idea for dealing with cmin/cmax