Re: Visibility map thoughts - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: Visibility map thoughts
Date
Msg-id 87r6j316pe.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: Visibility map thoughts  ("Gokulakannan Somasundaram" <gokul007@gmail.com>)
List pgsql-hackers
"Gokulakannan Somasundaram" <gokul007@gmail.com> writes:

> For example, if there is a query like select count(1) from table. Then
> we can scan through all the index pages and the visibility map to get
> the count. Currently it goes for Full table scan. there should be
> something like full index scan, which should take care of it. 

Huh, that does lead me to something we hadn't mentioned previously. If we kept
count of how many tuples were on each known-visible page then we could do a
full tables scan and still skip heap page fetches if we don't need any columns
(ie, for select count(*)).

I guess it's not terribly useful for anything other than select count(*)
though. But it would be nice. It would not suffer from the concurrency issues
that caching a single count would have because only vacuum (and page pruning)
would every update the count. Normal updates/delete/inserts would only have to
clear the bit and only if the page was marked as having the bit set.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's PostGIS support!


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: EquivalenceClasses vs volatile functions
Next
From: Gregory Stark
Date:
Subject: Re: Visibility map thoughts