Hola

El día 3 de febrero de 2011 15:45, Gerardo Herzig
<[email protected]> escribió:
> 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!
>
> Gerardo
>
> -
> Enviado a la lista de correo pgsql-es-ayuda ([email protected])
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>

Si el tiempo es lineal t(n) = a n + b, entonces hacé una consulta que
devuelva muchos más registros y determiná la pendiente a que es mucho
más importante porque afecta el tiempo multiplicado por n que b que es
fija. B bien puede deberse al tiempo de "cachear y compilar" la
función, que si bien puede ser alto, ese precio se paga una sola vez
por ejecución de la instrucción SELECT.

Saludos.


-- 
Guillermo O. Burastero
Usuario GNU/Linux #84879 - http://counter.li.org/
Bahía Blanca, Buenos Aires, Argentina
Tel. +54 (291) 454-6132 - Móvil [15] 574-3173
MSN: [email protected]
ICQ: 97148268
-
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