Skip site navigation (1) Skip section navigation (2)

RE: Cursores Vs Performance

From: Edwin Quijada <listas_quijada(at)hotmail(dot)com>
To: <venegasp_armando(at)hotmail(dot)com>, <lgarciam(at)vnz(dot)uci(dot)cu>,<ruben2218(at)gmail(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Cursores Vs Performance
Date: 2011-11-19 17:16:02
Message-ID: BAY155-W4775AEAC598B9CA46E703CE3C50@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
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: venegasp_armando(at)hotmail(dot)com
To: lgarciam(at)vnz(dot)uci(dot)cu; ruben2218(at)gmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
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: lgarciam(at)vnz(dot)uci(dot)cu
To: ruben2218(at)gmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
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:
pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de ruben avila
galindo

Enviado el: jueves, 17 de noviembre de 2011 11:42

Para: pgsql-es-ayuda(at)postgresql(dot)org

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



 		 	   		   		 	   		  

In response to

pgsql-es-ayuda by date

Next:From: Alejandro CarrilloDate: 2011-11-19 17:43:58
Subject: pg_hba esta ok, pero sale error
Previous:From: Miguel Angel Hernandez MorenoDate: 2011-11-19 15:35:01
Subject: Re: Quiero unirme a la lista

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group