2010/4/24 Grzegorz Jaśkiewicz <gryzman@xxxxxxxxx>: > > > On Sat, Apr 24, 2010 at 2:23 PM, Merlin Moncure <mmoncure@xxxxxxxxx> 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 -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance