Re: Does PG cache results of an aggregate function, (and results of non-volatile functions)?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Does PG cache results of an aggregate function, (and results of non-volatile functions)?
Дата
Msg-id 15514.1253283363@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Does PG cache results of an aggregate function, (and results of non-volatile functions)?  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
Merlin Moncure <mmoncure@gmail.com> writes:
> On Thu, Sep 3, 2009 at 3:44 AM, Allan Kamau <kamauallan@gmail.com> wrote:
>> I do have a query which make use of the results of an aggregate
>> function (for example bit_or) several times in the output column list
>> of the SELECT clause, does PostgreSQL simply execute the aggregate
>> function only once and provide the output to the other calls to the
>> same aggregate function.
>> How about the case of non volatile functions? Do they get executed as
>> many times as they occur in the select clause?

> I don't think so...could you provide a better example?  It sounds like
> your query is one that might benefit from use of CTE...

Might be overkill --- nodeAgg.c does check for textually identical
aggregate calls and avoid computing them more than once.  But looking
at the actual query and its explain plan would be necessary to be sure.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: Does PG cache results of an aggregate function, (and results of non-volatile functions)?
Следующее
От: "Picavet Vincent"
Дата:
Сообщение: gap in sequence numbers