Re: Reducing tuple overhead - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Reducing tuple overhead
Date
Msg-id CAA4eK1KbqMicXYFo6MCp7nnOfjkuqyx071c+sAm0c+ftAKSCBw@mail.gmail.com
Whole thread Raw
In response to Re: Reducing tuple overhead  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Responses Re: Reducing tuple overhead
Re: Reducing tuple overhead
List pgsql-hackers
On Sat, Apr 25, 2015 at 1:58 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
>
> On 4/23/15 10:40 PM, Amit Kapila wrote:
>>
>> I agree with you and what I think one of the major reasons of bloat is that
>> Index segment doesn't have visibility information due to which clearing of
>> Index needs to be tied along with heap.  Now if we can move transaction
>> information at page level, then we can even think of having it in Index
>> segment as well and then Index can delete/prune it's tuples on it's own
>> which can reduce the bloat in index significantly and there is a benefit
>> to Vacuum as well.
>
>
> I don't see how putting visibility at the page level helps indexes at all. We could already put XMIN in indexes if we wanted, but it won't help, because...
>

We can do that by putting transaction info at tuple level in index as
well but that will be huge increase in size of index unless we devise
a way to have variable index tuple header rather than a fixed.  

>> Now this has some downsides as well like Delete
>> needs to traverse Index segment as well to Delete mark the tuples, but
>> I think the upsides of reducing bloat can certainly outweigh the downsides.
>
>
> ... which isn't possible. You can not go from a heap tuple to an index tuple.

We will have the access to index value during delete, so why do you
think that we need linkage between heap and index tuple to perform
Delete operation?  I think we need to think more to design Delete
.. by CTID, but that should be doable. 

> This has been discussed in the past.

I have tried to search in archive, but not getting what is the exact
problem.


With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Jim Nasby
Date:
Subject: Re: Fwd: [GENERAL] 4B row limit for CLOB tables
Next
From: Julien Rouhaud
Date:
Subject: Re: adding more information about process(es) cpu and memory usage