Why does this:
create or replace function dummy() returns double precision as $$
SELECT random() $$
LANGUAGE SQL
COST 777;
explain select dummy();
return this:
Result (cost=0.00..0.01 rows=1 width=0)
and not a cost of 777?
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.
Sign up to join this communityI believe the costs refer to different units of measurement. The cost
when used in functions is the estimated execution cost in units of cpu_operator_cost, whereas the EXPLAIN
plan costs are units of disk page fetches (seq_page_cost).
For function cost details, see http://www.postgresql.org/docs/current/static/sql-createfunction.html
For EXPLAIN
plan costs, see http://www.postgresql.org/docs/current/static/using-explain.html