Re: Counting records in a PL/pgsql cursor
Magnus Hagander <mha@sollentuna.net>
From: "Magnus Hagander" <mha@sollentuna.net>
To: "redhog" <redhog@redhog.org>, <pgsql-general@postgresql.org>
Date: 2006-11-03T14:43:06Z
Lists: pgsql-general
> > Nope, the query is way too expensive to run it twice. (GIN > scan over > > well over half a million rows. It's faster to do the > > get-as-cursor-then-loop-and-increment, I've measured that) > > Can't you select into a temporary table and then do select > count(*) over that table, aswell as run your cursor over that > temporary table? > Or is that way to space expensive? I could, but just looping through the resultset is cheaper than that - everything sticks in memory. The actual resultset isn't thatbig (max 1,000 rows), so there is no real risk to run out of memory for it inside the functino. //Magnus