Re: proposal for smaller indexes on index-ordered tables

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: "Jeffrey Baker" <jwbaker(at)gmail(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: proposal for smaller indexes on index-ordered tables
Date: 2008-06-25 08:51:29
Message-ID: 48620711.30600@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jeffrey Baker wrote:
> The way I read it, the current btree index stores the index value and the
> TID of every tuple having that value. When you have a table with three
> columns, you index one of them and you get an index which is practically as
> large as the table itself.
>
> Supposing the table is generally or strictly ordered by the column to be
> indexed, it would be more compact if the index stored ranges of tuples.
> Instead of storing the TID of every tuple with that value, the index would
> store a first and last TID, between which all tuples have the value.

Search the archives for the Grouped Index Tuples, also known as
Clustered Indexes patch I worked on in spring 2007. It did almost
exactly that.

It didn't make it into 8.3 for various reasons: the patch was quite
invasive, the design and performance characteristics were not
well-understood by fellow hackers, and there was not that much interest
in it back then.

I'm not working on it or planning to work on it for now, but if you're
interested, the patch is still out there. It requires a lot of work, but
the design is still viable. I'm certainly willing to help with it if
someone wants to pick it up.

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Russell Smith 2008-06-25 09:00:21 libpq does not manage SSL callbacks properly when other libraries are involved.
Previous Message Tatsuo Ishii 2008-06-25 07:40:57 CVS Head psql bug?