Re: Function execution costs 'n all that

From: Brian Hurt <bhurt(at)janestcapital(dot)com>
To: Neil Conway <neilc(at)samurai(dot)com>
Cc: Richard Troy <rtroy(at)ScienceTools(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: Function execution costs 'n all that
Date: 2007-01-15 19:45:46
Message-ID: 45ABD9EA.3060703@janestcapital.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Neil Conway wrote:

>On Mon, 2007-01-15 at 10:51 -0800, Richard Troy wrote:
>
>
>>I therefore propose that the engine evaluate -
>>benchmark, if you will - all functions as they are ingested, or
>>vacuum-like at some later date (when valid data for testing may exist),
>>and assign a cost relative to what it already knows - the built-ins, for
>>example.
>>
>>
>
>That seems pretty unworkable. It is unsafe, for one: evaluating a
>function may have side effects (inside or outside the database), so the
>DBMS cannot just invoke user-defined functions at whim. Also, the
>relationship between a function's arguments and its performance will
>often be highly complex -- it would be very difficult, not too mention
>computationally infeasible, to reconstruct that relationship
>automatically, especially without any real knowledge about the
>function's behavior.
>
>
Non-developer here, but we use a lot of plpgsql functions at work. And
the functions we use fall into two broad, ill-defined catagories-
"expensive" functions and "cheap" functions. What I'd like as a user is
some way to tell the planner "this function is expensive- prefer plans
which call this function less even if they're otherwise more expensive"
or "this function is cheap, prefer plans that are otherwise less
expensive even if they call this function more often". Precise cost
estimates aren't that important, IMHO.

Brian

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Troy 2007-01-15 19:47:10 Re: Function execution costs 'n all that
Previous Message Neil Conway 2007-01-15 18:54:48 Re: Function execution costs 'n all that