Ivan Sergio Borgonovo wrote:
On Wed, 27 Jan 2010 10:10:01 -0500
Andrew Dunstan <and...@dunslane.net> wrote:

There are quite a few SRF functions in the code. Look for example
in contrib/hstore/hstore_op.c for some fairly simple examples.
SRFs are quite capable of returning huge resultsets, not just
small ones. Example code for matrerialize mode can be found in the
PLs among other places (e.g. plperl_return_next() )

I'm more interested in understanding when I should use materialized
mode.
eg. I should be more concerned about memory or cpu cycles and what
should be taken as a reference to consider memory needs "large"?
If for example I was going to split a large TEXT into a set of
record (let's say I'm processing csv that has been loaded into a
text field)... I'd consider the CPU use "light" but the memory needs
"large". Would be this task suited for the materialized mode?

Is there a rule of thumb to chose between one mode or the other?



If you don't know your memory use will be light, use materialized mode. For small results the data will still be in memory anyway. The Tuplestore will only spill to disk if it grows beyond a certain size.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to