Re: Count of records in a row

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Rémi Cura <remi(dot)cura(at)gmail(dot)com>
Cc: Hubert Lubaczewski <depesz(at)depesz(dot)com>, Robert James <srobertjames(at)gmail(dot)com>, Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Count of records in a row
Date: 2013-10-22 16:21:43
Message-ID: CAHyXU0yMqC0_GpkTdqrvuRqebHaoZkCdYPG4weC2BXcEsi4_FA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Oct 22, 2013 at 9:43 AM, Rémi Cura <remi(dot)cura(at)gmail(dot)com> wrote:
> Thanks again for the precision !
>
> I still don't understand perfectly. We call the aggregate n times, and each
> time we compute the aggregate, using (potentially) n rows, thus becoming (at
> most) O(n*n).
>
> With a standard loop, I loop n times, and each times I only need the current
> row plus the previous row which I put in memory, thus O(n).

For posterity, the above is incorrect. Since the aggregate is ordered
through the window function, it gets executed exactly once per output
row. It behaves exactly like a loop. You know this because there is
no array in the aggregate state.

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rémi Cura 2013-10-22 16:24:19 Re: Count of records in a row
Previous Message Shaun Thomas 2013-10-22 15:33:41 Re: Backup Question