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