On 05/04/2017 06:22 PM, Andrew Dunstan wrote:
I wrote this query:
select (json_populate_record(null::mytype, myjson)).*
from mytable;
It turned out that this was an order of magnitude faster:
with r as
(
select json_populate_record(null::mytype, myjson) as x
from mytable
)
select (x).*
from r;
I do not know the planner that well, but I imagined that when we remove
the optimization fence that one would be evaluated similar to if it had
been a lateral join, i.e. there would be no extra function calls in this
case after removing the fence.
Andreas
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers