Is improving count(*) <a lot if possible> on one of the TODO lists?

Jean-Luc Lachance wrote:

How about keeping counts of inserts, deletes and updates per table per
transaction as part of the live statistics?



Tom Lane wrote:


I said:


Greg Stark <[EMAIL PROTECTED]> writes:


Things like count(*) could use int4 until it overflows though.


I don't see a reasonable way for an aggregate to change state datatype
on the fly; otherwise this would be a great solution.


On the other hand, the cost is imposed by the generic aggregate
definition that says the aggregate state transition function is an
ordinary function.  This is fine for user-defined aggregates, but there
is no law that says that all the built-in aggregates must use that same
API.  We could probably invent some API that allows COUNT(*) to keep its
running count someplace where it needn't be re-palloc'd on every cycle.
Something to think about for 7.5 (too late for 7.4 I fear).

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend





---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to