> > 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

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to