Re: why does count take so long?
От | Dennis Gearon |
---|---|
Тема | Re: why does count take so long? |
Дата | |
Msg-id | 3F5E05CB.2090805@fireserve.net обсуждение исходный текст |
Ответ на | Re: why does count take so long? (Jean-Luc Lachance <jllachan@nsd.ca>) |
Список | pgsql-general |
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 <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) >> >> > >---------------------------(end of broadcast)--------------------------- >TIP 8: explain analyze is your friend > > >
В списке pgsql-general по дате отправления: