Re: Replacing Cursors with Temporary Tables - Mailing list pgsql-performance

From Merlin Moncure
Subject Re: Replacing Cursors with Temporary Tables
Date
Msg-id y2kb42b73151004240820u5a0082dt2201eef3c4dafa87@mail.gmail.com
Whole thread Raw
In response to Re: Replacing Cursors with Temporary Tables  (Grzegorz Jaśkiewicz <gryzman@gmail.com>)
List pgsql-performance
2010/4/24 Grzegorz Jaśkiewicz <gryzman@gmail.com>:
>
>
> On Sat, Apr 24, 2010 at 2:23 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
>>
>> Well, you missed the most important part: not using cursors at all.
>> Instead of declaring a cursor and looping it to build the array, build
>> it with array().  That's what I've been saying: arrays can completely
>> displace both temp tables _and_ cursors when passing small sets around
>> functions.
>>
> with huge emphasis on the word small.

The rule of thumb I use is 10000 narrow records (scalars, or very
small composites) or 1000 wide/complex records.  I routinely pass
extremely complex (3-4 levels nesting) nested composite arrays to the
client for processing -- it is extremely efficient and clean.  This of
course is going to depend on hardware and other factors.

merlin

pgsql-performance by date:

Previous
From: Grzegorz Jaśkiewicz
Date:
Subject: Re: Replacing Cursors with Temporary Tables
Next
From: Vlad Arkhipov
Date:
Subject: Re: Optimization idea