Re: Seqscan in MAX(index_column) - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Seqscan in MAX(index_column)
Date
Msg-id 200309050220.h852KMG17572@candle.pha.pa.us
Whole thread Raw
In response to Re: Seqscan in MAX(index_column)  (Neil Conway <neilc@samurai.com>)
Responses Re: Seqscan in MAX(index_column)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Neil Conway wrote:
> On Thu, 2003-09-04 at 22:02, Bruce Momjian wrote:
> > My idea is that if a transaction doing a COUNT(*) would first look to
> > see if there already was a visible cached value, and if not, it would do
> > the COUNT(*) and insert into the cache table.  Any INSERT/DELETE would
> > remove the value from the cache.  As I see it, the commit of the
> > INSERT/DELETE transaction would then auto-invalidate the cache at the
> > exact time the transaction commits.  This would allow MVCC visibility of
> > the counts.
> 
> But this means that some of the time (indeed, *much* of the time),
> COUNT(*) would require a seqscan of the entire table. Since at many
> sites that will take an enormous amount of time (and disk I/O), that
> makes this solution infeasible IMHO.
> 
> In general, I don't think this is worth doing.

It is possible it isn't worth doing.  Can the INSERT/DELETE
incrementing/decrementing the cached count work reliabily?

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Neil Conway
Date:
Subject: Re: Seqscan in MAX(index_column)
Next
From: Neil Conway
Date:
Subject: TODO item: psql tab-completion