Amazing performance failure with SQL function

Поиск
Список
Период
Сортировка
От Joshua D. Drake
Тема Amazing performance failure with SQL function
Дата
Msg-id 1258583073.20737.112.camel@jd-desktop.iso-8859-1.charter.com
обсуждение исходный текст
Список pgsql-hackers
I was just writing a syntical example and wanted to make sure it worked.
I found this:

CREATE OR REPLACE FUNCTION RETURN_LOTS(INT) RETURNS SETOF INT AS   $$      SELECT generate_series(1,$1);   $$ COST 0.5
ROWS10000000 SET work_mem TO '5MB' LANGUAGE 'SQL';
 

postgres=# explain analyze select return_lots(10000000);                                         QUERY
PLAN                                           
-----------------------------------------------------------------------------------------------Result  (cost=0.00..0.26
rows=1width=0) (actual time=0.057..21255.309
 
rows=10000000 loops=1)Total runtime: 25784.077 ms
(2 rows)

O.k. slow, but no big deal right? Well:

postgres=# SET cpu_operator_cost to 0.5;
SET
postgres=# set work_mem to 5MB;
SET
postgres=# explain analyze SELECT generate_series(1,10000000);                                         QUERY
PLAN                                          
----------------------------------------------------------------------------------------------Result  (cost=0.00..0.51
rows=1width=0) (actual time=0.004..6796.389
 
rows=10000000 loops=1)Total runtime: 11301.681 ms
(2 rows)

This is repeatable. I expect a little regression because we have to
compile the SQL but 14 seconds? 

postgres=# select version();

version                                               
-----------------------------------------------------------------------------------------------------PostgreSQL 8.3.8
onx86_64-pc-linux-gnu, compiled by GCC gcc-4.4.real
 
(Ubuntu 4.4.1-3ubuntu3) 4.4.1
(1 row)


Joshua D. Drake


-- 
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 503.667.4564
Consulting, Training, Support, Custom Development, Engineering
If the world pushes look it in the eye and GRR. Then push back harder. - Salamander



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Joshua D. Drake"
Дата:
Сообщение: Oversight in CREATE FUNCTION + EXPLAIN?
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Summary and Plan for Hot Standby