X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id B687711F60A5 for ; Sat, 29 Apr 2006 00:19:27 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 60872-06 for ; Sat, 29 Apr 2006 00:19:12 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- Received: from imsm058dat.netvigator.com (imsm058.netvigator.com [218.102.48.211]) by postgresql.org (Postfix) with ESMTP id DDE6211F609E for ; Sat, 29 Apr 2006 00:19:10 -0300 (ADT) Received: from n2.netvigator.com ([218.103.190.155]) by imsm058dat.netvigator.com (InterMail vM.6.01.05.02 201-2131-123-102-20050715) with ESMTP id <20060429031909.MTQS18293.imsm058dat.netvigator.com@n2.netvigator.com>; Sat, 29 Apr 2006 11:19:09 +0800 Received: from n2.netvigator.com ([127.0.0.1]) by [127.0.0.1] with ESMTP (SpamPal v1.594) sender ; 29 Apr 2006 11:19:05 +???? Message-Id: <6.2.1.2.0.20060429110036.02c01b98@localhost> X-Mailer: QUALCOMM Windows Eudora Version 6.2.1.2 Date: Sat, 29 Apr 2006 11:18:10 +0800 To: Tom Lane From: K C Lau Subject: Re: Why so slow? Cc: pgsql-performance@postgresql.org In-Reply-To: <19397.1146278368@sss.pgh.pa.us> References: <20060428145842.GI97354@pervasive.com> <20060428190005.GA15689@wolff.to> <6.2.1.2.0.20060429084119.05290438@localhost> <19397.1146278368@sss.pgh.pa.us> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200604/686 X-Sequence-Number: 18770 At 10:39 06/04/29, Tom Lane wrote: >K C Lau 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. Cheers, KC.