| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Julius Tuskenis <julius(at)nsoft(dot)lt> |
| Cc: | Merlin Moncure <mmoncure(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org |
| Subject: | Re: unexpected stable function behavior |
| Date: | 2011-03-14 17:17:33 |
| Message-ID: | 12872.1300123053@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
Julius Tuskenis <julius(at)nsoft(dot)lt> writes:
> From the postgresql documentation about STABLE functions: "This
> category allows the optimizer to optimize multiple calls of the function
> to a single call." I thought that this means that optimizer executes the
> function only for now parameter sets and stores results in some "cache"
> and use it if the parameters are already known.
No, it does not. That function property *allows* the optimizer to
invoke the function fewer times than would happen in an un-optimized
query. It does not *require* it to do so. There is no such cache
mechanism in Postgres, and it's unlikely that there ever will be,
because it probably would be a net performance loss on average.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Claudio Freire | 2011-03-14 17:24:31 | Bug in the planner? |
| Previous Message | Samba GUEYE | 2011-03-14 16:42:06 | Re: Table partitioning problem |