--------------------------------------------------
From: "Alvaro Herrera" <[EMAIL PROTECTED]>
Sent: Friday, October 17, 2008 4:46 PM
To: "Rafael Comino Mateos" <[EMAIL PROTECTED]>
Cc: <pgsql-es-ayuda@postgresql.org>
Subject: Re: [pgsql-es-ayuda] Consulta Eficiente
Rafael Comino Mateos escribió:
Tengo una función que al ejecutarse debe trabajar con un conjunto de
1.000.000 de registros aproximadamente.
Sobre ese conjunto de datos, en un cursor saco una a una las filas y
la mayoría las borro y otras pues las guardo en una tabla, o hago
cálculos, etc.
El problema que tengo es de eficiencia, ya que la transacción se hace
tan grande que ocupa demasiada memoria y se hace lentísimo la
ejecución.
Hasta donde puedas evita el uso de cursores, sobre todo si son MUCHOS
registros sobre los que se debe iterar, lo que puedas hacer vía SQLs te
agilizará mucho el tema ... muestranos tu función a ver si se puede hacer
este tipo de "conversiones".
Recuerda que por lo general funciona mucho más rápido las sentencias SQL que
iterar por cada registro (Set oriented vs row oriented).
Atentamente,
RAUL DUQUE
Bogotá, Colombia
Creo que has diagnosticado mal el problema. Por favor muestra la
función.
--
Alvaro Herrera
http://www.amazon.com/gp/registry/3BP7BYG9PUGI8
"But static content is just dynamic content that isn't moving!"
http://smylers.hates-software.com/2007/08/15/fe244d0c.html
--
TIP 4: No hagas 'kill -9' a postmaster
__________ Information from ESET Smart Security, version of virus
signature database 3533 (20081017) __________
The message was checked by ESET Smart Security.
http://www.eset.com
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
http://archives.postgresql.org/pgsql-es-ayuda