Received: from localhost (unknown [200.46.204.183]) by developer.postgresql.org (Postfix) with ESMTP id 633962E0052 for ; Thu, 15 May 2008 10:51:16 -0300 (ADT) Received: from developer.postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 00630-03 for ; Thu, 15 May 2008 10:50:38 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from smtp110.biz.mail.mud.yahoo.com (smtp110.biz.mail.mud.yahoo.com [68.142.201.179]) by developer.postgresql.org (Postfix) with SMTP id 750B62E0056 for ; Thu, 15 May 2008 10:50:40 -0300 (ADT) Received: (qmail 28648 invoked from network); 15 May 2008 13:50:39 -0000 Received: from unknown (HELO ?192.168.5.105?) (ramayer@forensiclogic.com@76.199.136.9 with plain) by smtp110.biz.mail.mud.yahoo.com with SMTP; 15 May 2008 13:50:38 -0000 X-YMail-OSG: oIR.mQwVM1kQLsuAklcoHgUi4mYj4X636S.83qSVoSjGOJYPFe_DTXzGhCXQjYrqJyG73JwAG5lfhenk5lxxam.6CV3Gt1C7tcnF9SALhTXIyKGTVU5t20.qhMu7V6F5xMA- X-Yahoo-Newman-Property: ymail-3 Message-ID: <482C3FB4.6050102@cheapcomplexdevices.com> Date: Thu, 15 May 2008 06:50:44 -0700 From: Ron Mayer User-Agent: Mozilla-Thunderbird 2.0.0.12 (X11/20080420) MIME-Version: 1.0 To: Matthew Wakeling CC: pgsql-performance@postgresql.org Subject: Re: I/O on select count(*) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200805/209 X-Sequence-Number: 30177 Matthew Wakeling wrote: > On Thu, 15 May 2008, Luke Lonergan wrote: >> ...HINT bit optimization, but avoids this whole ³write the data, >> write it to the log also, then write it again just for good measure² > ... > The hint data will be four bits per tuple plus overheads, so it could be > made very compact, and therefore likely to stay in the cache fairly > well. Does it seem like these HINT bits would be good candidates to move off to map forks similar to how the visibility map stuff will be handled? Since (if I understand right) only the hint bits change during the select(*) it seems a lot less write-IO would happen if such a map were updated rather than the data pages themselves.