Re: Consulta Eficiente

From: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, "Rafael Comino Mateos" <ccomino(at)kaplan(dot)es>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta Eficiente
Date: 2008-10-18 03:17:51
Message-ID: 9279FCFEE740417F92A196030E9EF1D2@Principal
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--------------------------------------------------
From: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
Sent: Friday, October 17, 2008 4:46 PM
To: "Rafael Comino Mateos" <ccomino(at)kaplan(dot)es>
Cc: <pgsql-es-ayuda(at)postgresql(dot)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
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2008-10-18 15:23:21 Re: RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Actualización de PostgreSQL me acabó con la BD
Previous Message Reynier Perez Mira 2008-10-18 02:28:35 RE: [pgsql-es-ayuda] RE: [pgsql-es-ayuda] Actualización de PostgreSQL me acabó con la BD