Re: why does count take so long?
Jean-Luc Lachance <jllachan@nsd.ca>
From: Jean-Luc Lachance <jllachan@nsd.ca>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Greg Stark <gsstark@mit.edu>, pgsql-general@postgresql.org
Date: 2003-09-09T16:21:07Z
Lists: pgsql-general
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 <gsstark@mit.edu> 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 majordomo@postgresql.org)