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;

-- 
Álvaro Herrera -- Se vende casa en Ñuñoa: www.portalinmobiliario.com/993147
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a