Re: Stable function optimisation - Mailing list pgsql-performance

From Tom Lane
Subject Re: Stable function optimisation
Date
Msg-id 21918.1187038900@sss.pgh.pa.us
Whole thread Raw
In response to Stable function optimisation  (Philipp Specht <phlybye@phlybye.de>)
Responses Re: Stable function optimisation  (Philipp Specht <phlybye@phlybye.de>)
List pgsql-performance
Philipp Specht <phlybye@phlybye.de> writes:
> The biggest question here is: Why is the runtime of the query with
> the stable function not near the runtime of the immutable function?

Stable functions don't get folded to constants.

> It's definitely one query and the manual states that a stable
> function does not change in one statement and therefore can be
> optimised.

That's not the type of optimization that gets done with it.  What
"STABLE" is for is marking functions that are safe to use in index
conditions.  If you'd been using an indexable condition you'd have
seen three different behaviors here.

(I see that you do have an index on t.a, but apparently there are
too many matching rows for the planner to think the index is worth
using.)

            regards, tom lane

pgsql-performance by date:

Previous
From: "Relyea, Mike"
Date:
Subject: Re: Help optimize view
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Proposal: Pluggable Optimizer Interface