This seems like a place where there is room for improvement.
2011-04-09 15:18:08.016 testdb=# select id from test1 where id < 3 order
by id;
id
----
1
2
(2 rows)
Time: 0.328 ms
2011-04-09 15:18:11.936 testdb=# CREATE or Replace FUNCTION testsort(id
integer) returns integer as $$ BEGIN perform pg_sleep(id); return id;
END; $$ language plpgsql;
CREATE FUNCTION
Time: 12.349 ms
2011-04-09 15:18:22.138 testdb=# select id from test1 where id < 3 order
by id,testsort(id);
id
----
1
2
(2 rows)
Time: 3001.896 ms
It seems strange that there is a need to evaluate testsort(id) at all in
this case.
--
Jesper
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers