A hybrid scan approach combined with this idea would fit nicely - provide 
results for tids that are directly visible and set a bit in a bitmap for those 
that need recheck and extend recheck to take a bitmap (wait - it already does 
:-)

- Luke

Msg is shrt cuz m on ma treo

 -----Original Message-----
From:   Gregory Stark [mailto:[EMAIL PROTECTED]
Sent:   Wednesday, August 15, 2007 02:58 PM Eastern Standard Time
To:     Bruce Momjian
Cc:     PostgreSQL-development
Subject:        Re: [HACKERS] Another idea for index-only scans

"Bruce Momjian" <[EMAIL PROTECTED]> writes:

> I have added another idea for index-only scans to the TODO list:
>
>>   A third idea would be for a heap scan to check if all rows are visible
>>   and if so set a per-table flag which can be checked by index scans.
>>   Any change to the table would have to clear the flag.  To detect
>>   changes during the heap scan a counter could be set at the start and
>>   checked at the end --- if it is the same, the table has not been
>>   modified --- any table change would increment the counter.

I think I would prefer to address this in the same infrastructure as the
dead-space-map. That way you're not dependent on having no updates happening
on the table at all. Any tuples on pages which contain no in-doubt tuples
could have their visibility check skipped but when you come across a tuple on
a page which has been modified since the last vacuum then you have to check
the visibility.

-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to