Kernel escribió:

> Muchas gracias por vuestro tiempo.
> 
> El query, como dije antes normalmete va ha devolver entre 0 y 3 filas, lo
> que ocurre que tengo que recorrer el resultado varias veces para pasarlos
> por unos IF y analizar la situacion, estoy buscando cual sera la forma mas
> rapida y no tener que volver a leerlos de nuevo de la tabla.
> 
> La opcion que propones de la tabla temporal creo que es la mejor, la mas
> limpia,  puedo realizar ese analisis a base de querys a la tabla temporal.
> 
> Entiendo que la diferencia de tiempo  de crear la tabla temporal (supongo
> que se creara en memoria) y dejarlo en un array en memoria sera mínimo ¿no?

Bueno, hay un costo con la tabla temporal que es que hay que registrarla
en los catálogos del sistema, y puede ser fastidioso.

Quizás te conviene ponerlo en un objeto JSON, con algo del tipo

select jsonb_agg(to_jsonb(f)) from ( select blabla from ... ) f;

Luego eso lo puedes recorrer, operar, etc, con las muchas funciones
json/jsonb.

> No se si estoy intentando ir muy fino, pero es una tabla de movimientos de
> almacen a la que se va acceder costantemente y me gustaria que fuera los mas
> rapido posible. (seguro que luego derrochare mucho mas tiempo en cualquier
> chorrada sin darme cuenta, pero bueno)

Seguro, pero qué mejor que perder el tiempo resolviendo un problema
interesante, ¿eh?

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a