What is the difference between: select foo(); and select * from foo();
Foo is defined as: CREATE OR REPLACE FUNCTION foo() RETURNS SETOF integer AS 'SELECT column from foo_table;' LANGUAGE 'sql' STABLE; Explain shows difference... explain select * from foo() "Function Scan on foo (cost=0.00..1.25 rows=1000 width=4)" Explain select foo(); "Result (cost=0.00..0.00 rows=1 width=0)" They both return the same results..yet yield different plans...and different speeds when using 'real' data. Why come? -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general