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 -- Á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