count(*) using index scan in "query often, update rarely" environment - Mailing list pgsql-performance

From Cestmir Hybl
Subject count(*) using index scan in "query often, update rarely" environment
Date
Msg-id 935801c5cb20$dcf93a00$131fc39e@stratos
Whole thread Raw
Responses Re: count(*) using index scan in "query often, update rarely" environment  (hubert depesz lubaczewski <depesz@gmail.com>)
Re: count(*) using index scan in "query often, update rarely" environment  ("Steinar H. Gunderson" <sgunderson@bigfoot.com>)
Re: count(*) using index scan in "query often, update rarely" environment  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
Hello all
 
First of all, I do understand why pgsql with it's MVCC design has to examine tuples to evaluate "count(*)" and "count(*) where (...)" queries in environment with heavy concurrent updates.
 
This kind of usage IMHO isn't the average one. There are many circumstances with rather "query often, update rarely" character.
 
Isn't it possible (and reasonable) for these environments to keep track of whether there is a transaction in progress with update to given table and if not, use an index scan (count(*) where) or cached value (count(*)) to perform this kind of query?
 
(sorry for disturbing if this was already discussed)
 
Regards,
 
Cestmir Hybl

pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Need Some Suggestions
Next
From: hubert depesz lubaczewski
Date:
Subject: Re: count(*) using index scan in "query often, update rarely" environment