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