No era lo mismo usar LIMIT xxx OFFSET para eso y no complicarte. Sabes, nunca he usado un cursor en mi vida y a veecs mes pregunto si estoy bien o mal?Bueno, si te funciono y se optimizo bien por ti.
*-------------------------------------------------------* *-Edwin Quijada *-Developer DataBase *-JQ Microsistemas *-Soporte PostgreSQL *-www.jqmicrosistemas.com *-809-849-8087 *-------------------------------------------------------* eces From: [email protected] To: [email protected]; [email protected]; [email protected] Subject: RE: [pgsql-es-ayuda] Cursores Vs Performance Date: Thu, 17 Nov 2011 16:47:06 +0000 En mi trabajo se tenia que exportar algunos campos a CSV, al tratar de hacer la consulta (más de 60 millones de registros) se tardaba casi 30 minutos (No es mucho, pero cuando se ejecuta desde un sistema WEB, ya es otra cosa). Se solucionó al abrir un cursor que leía segmentos de 10,000 registros y se exportaban al CSV, hasta terminar. Se redujo a solo 2-3 minutos. En nuestro caso se optimizo el proceso. Saludos. From: [email protected] To: [email protected]; [email protected] Date: Thu, 17 Nov 2011 12:08:39 -0430 Subject: RE: [pgsql-es-ayuda] Cursores Vs Performance No lo creo, mira lo que dice en la documentación oficial relacionada a los cursores: “Rather than executing a whole query at once, it is possible to set up a cursor that encapsulates the query, and then read the query result a few rows at a time. One reason for doing this is to avoid memory overrun when the result contains a large number of rows. (However, PL/pgSQL users do not normally need to worry about that, since FOR loops automatically use a cursor internally to avoid memory problems.) A more interesting usage is to return a reference to a cursor that a function has created, allowing the caller to read the rows. This provides an efficient way to return large row sets from functions.” Saludos. De: [email protected] [mailto:[email protected]] En nombre de ruben avila galindo Enviado el: jueves, 17 de noviembre de 2011 11:42 Para: [email protected] Asunto: [pgsql-es-ayuda] Cursores Vs Performance Hola estuve leyendo que usar cursores demanda mucho uso de procesador y memoria cuando ejecutes Lotes de Informacion y si es mas operaciones en memoria queria saber si es cierto eso y en caso nomas se conviene usar CURSOR en Postgresql. Saludos Ruben Avila G
