On Sat, Apr 29, 2006 at 11:18:10AM +0800, K C Lau wrote:
>
> At 10:39 06/04/29, Tom Lane wrote:
> >K C Lau <kclau60@netvigator.com> writes:
> >> Without knowing the internals, I have this simplistic idea: if Postgres
> >> maintains the current lowest transaction ID for all active
> >transactions, it
> >> probably could recycle dead tuples on the fly.
> >
> >[ yawn... ] Yes, we've heard that before. The hard part is getting rid
> >of index entries.
> >
> > regards, tom lane
>
> I apologize for simplistic ideas again. I presume that the equivalent tuple
> header information is not maintained for index entries. What if they are,
> probably only for the most commonly used index types to allow recycling
> where possible? The extra space required would be recycled too. It would
> probably also help save a trip to the tuple data pages to determine the
> validity of index entries during index scans.
You should read through the -hacker archives, most of this stuff has
been gone over multiple times.
Storing tuple header info in indexes would be a huge drawback, as it
would result in about 20 extra bytes per index entry.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461