Re: planner/optimizer question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Manfred Koizar <mkoi-pg(at)aon(dot)at>
Cc: "Gary Doades" <gpd(at)gpdnet(dot)co(dot)uk>, pgsql-performance(at)postgresql(dot)org
Subject: Re: planner/optimizer question
Date: 2004-04-28 13:05:04
Message-ID: 27806.1083157504@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Manfred Koizar <mkoi-pg(at)aon(dot)at> writes:
> On Wed, 28 Apr 2004 07:35:41 +0100, "Gary Doades" <gpd(at)gpdnet(dot)co(dot)uk>
> wrote:
>> Why is there an entry in the index for a row if the row is not valid?

> Because whether a row is seen as valid or not lies in the eye of the
> transaction looking at it. Full visibility information is stored in the
> heap tuple header. The developers' consensus is that this overhead
> should not be in every index tuple.

Storing that information would at least double the overhead space used
for each index tuple. The resulting index bloat would significantly
slow index operations by requiring more I/O. So it's far from clear
that this would be a win, even for those who care only about select
speed.

regards, tom lane

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message James Robinson 2004-04-28 13:29:15 History of oids in postgres?
Previous Message Tom Lane 2004-04-28 12:52:20 Re: Join problem