Greg Stark wrote:
> On Wed, Nov 10, 2010 at 4:04 AM, Bruce Momjian <br...@momjian.us> wrote:
> > We last researched index-only scans, also called covering indexes, in
> > September of 2008, but have made little progress on it since. ?Many have
> > been waiting for Heikki to implement this but I talked to him and he
> > doesn't have time.
> >
> > I believe it is time for the community to move forward and I would like
> > to assemble a team to work on this feature. ?We might not be able to
> > implement it for Postgres 9.1, but hopefully we can make some progress
> > on this.
> 
> Just so everyone is on the same page.... Even once we have index-only
> scans they won't be anywhere near as useful with Postgres as they are
> with Oracle and other databases. At least not unless we find a
> solution for a different problem -- our inability to scan btree
> indexes sequentially.
> 
> In Oracle "Fast Full Index" scans are particularly useful for things
> like unconstrained select count(*). Since the scan can scan through
> the index sequentially and the index is much smaller than the table it
> can count all the values fairly quickly even on a very wide table.
> 
> In Postgres, aside from the visibility issues we have a separate
> problem. In order to achieve high concurrency we allow splits to occur
> without locking the index. And the new pages can be found anywhere in
> the index, even to the left of the existing page. So a sequential scan
> could miss some data if the page it's on is split and some of the data
> is moved to be to the left of where our scan is.
> 
> It's possible this is a non-issue in the future due to large RAM sizes
> and SSDs. Large amounts of RAM mean perhaps indexes will be in memory
> much of the time and SSDs might mean that scanning the btree in index
> order might not really be that bad.

Agreed.  I updated the index-only scans wiki for this:

        http://wiki.postgresql.org/wiki/Index-only_scans
        
        test speed improvement for scans of the entire index (this involves
        random I/O)
            * we can't scan the index in physical order like vacuum does 

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to