From: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
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 13:20:53 |
Message-ID: | 1297344053.22462.26.camel@inca.fmed.uba.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El mié, 09-02-2011 a las 14:20 -0300, Alvaro Herrera escribió:
> Excerpts from Gerardo Herzig's message of jue feb 03 15:45:38 -0300 2011:
> > Hola chicos. Estoy teniendo problemas con la lentitud de una funcion.
> > Estoy usando la funcion _xxfunction() dentro de un subselect, entonces
> > uso su forma select (_xxfunction()).* (en lugar de select * from...,
> > sino dentro del subquery me genera error sintactico), y el tema es que
> > tarda mucho mas un modo que el otro:
> >
> > test=# SELECT (_xxfunction(123)).* ;
> > (4 filas)
> > Duración: 1069,465 ms
> >
> >
> > test=# SELECT * from _xxfunction(123) ;
> > (4 filas)
> > Duración: 228,699 ms
> >
> > Alguna idea de porque de esto? Alguna alternativa?
> > Gracias!
>
> Si mal no recuerdo, al hacer ().* se ejecuta la función tantas veces
> como columnas haya en el resultado. Quizás funcione algo como
>
> select foo.* from (select * from _xxfunction(123) offset 0) as foo;
>
Gracias Alvaro, si, tenes razon, pasa que no exprese bien mi problema,
que es ligeramente distinto (creo)
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 no logro dar con el modo correcto para evitar el uso de (f()).*
Gracias!
Gerardo
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2011-02-10 14:52:56 | Re: sobre DDL |
Previous Message | Emanuel Calvo Franco | 2011-02-10 12:20:39 | [OT] Curso Nivel 1 y 2 DBA Postgres |