Re: uso de select (function()).* es mucho mas lento que select * from function()

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: uso de select (function()).* es mucho mas lento que select * from function()
Date: 2011-02-10 14:56:12
Message-ID: 1297349639-sup-1485@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Excerpts from Gerardo Herzig's message of jue feb 10 10:20:53 -0300 2011:

> Yo tengo que lograr algo como
>
> select * from _xxfunction(codigo) from (select codigo from tabla)
> Y esto tiene un error de sintaxis.
>
> Si uso la forma select (_xxfunction(codigo)).* from (select codigo from
> tabla)
> elimino el error sintactico, pero como bien decis, llamo muchas veces a
> la funcion, y se torna demasiado lento.

y algo así?

selec func.* from (select _xxfunction(codigo) as func from (select codigo from tabla) as foo) as bar

No tengo claro si irá a intentar aplanar el subselect, lo cual deberías
poder solucionar con el truco usual OFFSET 0:

selec func.* from (select _xxfunction(codigo) as func from (select codigo from tabla) as foo offset 0) as bar

--
Álvaro Herrera -- Se vende casa en Ñuñoa: www.portalinmobiliario.com/993147

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Rafael Sotolongo Leon 2011-02-10 14:57:00 Re: sobre DDL
Previous Message Alvaro Herrera 2011-02-10 14:52:56 Re: sobre DDL