From: | Kernel <jucabapa(at)gmail(dot)com> |
---|---|
To: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Como volcar un query sobre un array |
Date: | 2015-07-09 16:16:33 |
Message-ID: | 559E9E61.5090506@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 09/07/2015 a las 15:11, Alvaro Herrera escribió:
> Kernel escribió:
>
>> Mis dudas :
>>
>> - ¿la segunda vez que intente hacer un loop, esta en cache y no cuesta ?
>
> No.
>
>> - ¿Mejor lo vuelco a un record.array y recorro el array las veces que
>> necesite? ¿como lo vuelco?
>
> Podrías crear una tabla temporal con los resultados, CREATE TEMP TABLE
> fff AS SELECT ..
>
>> - Declaro un cursor y solo lo habro una vez (con el OPEN) y luego lo recorro
>> con fecth las veces que necesite?
>
> Es fastidioso hacer esto en plpgsql.
>
>> - y la ultima que se me ocurre y mas limpia, si utilizo sentecias select
>> sobre esta que actuaria como una subconsulta que si esta en cache iria
>> rapido (esto ultimo es algo que creo yo)
>
> No entendí. Si quieres usar los resultados de una consulta varias veces
> "dentro" de otra consulta, puedes definirla como un CTE usando la
> cláusula WITH, como
> WITH fff AS (SELECT ..)
> SELECT a. ... FROM fff
>
>
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?
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)
Gracias
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2015-07-09 16:37:59 | Re: Como volcar un query sobre un array |
Previous Message | MARIA ANTONIETA RAMIREZ SOLIS | 2015-07-09 15:21:20 | Rutinas de mantenimineto |