Re: [PERFORM] optimizing immutable vs. stable function calls?
От | Merlin Moncure |
---|---|
Тема | Re: [PERFORM] optimizing immutable vs. stable function calls? |
Дата | |
Msg-id | CAHyXU0wpJ-00vcHzSCJ8c+gKnDdyGKJnbpBiFeCR3b1S3uCcGQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [PERFORM] optimizing immutable vs. stable function calls? (Jim Nasby <Jim.Nasby@BlueTreble.com>) |
Список | pgsql-performance |
On Mon, Jan 23, 2017 at 9:10 AM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: > On 1/18/17 6:09 PM, David G. Johnston wrote: >> >> That would not be a productive exercise for me, or most people who just >> want >> some idea of what to expect in terms of behavior when they write and use a >> Stable function (Immutable and Volatile seem fairly easy to reason about). > > > Yeah, this isn't an uncommon question for users to have, and "read the code" > isn't a great answer. > > If there's a README or comment block that describes this, that might be a > reasonable compromise. > > It would certainly be useful to document how to push the planner in the > right direction as well. I didn't realize that SELECT ... (SELECT > slow_stable_function()) was a thing until reading this thread. Totally agree. There are other odd cases as well, mostly relating to SQL inlining (for example, marking a function IMMUTABLE can cause it to fall out of inlining you would get by giving no designation). If you documented all the rules, I think you'd find the rules are a bit odd and could be simplified. merlin
В списке pgsql-performance по дате отправления: