From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | "Mauricio Zea (Gmail)" <jmzlbqcol(at)gmail(dot)com> |
Cc: | Alberto Piña <alberto(dot)pina(at)kebir(dot)com(dot)mx>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Rendimiento del delete |
Date: | 2005-05-07 19:08:44 |
Message-ID: | 20050507190844.GH2317@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Fri, May 06, 2005 at 07:20:59AM -0500, Mauricio Zea (Gmail) wrote:
> Hola a todos.
>
> A mi modo de ver, para efectos de pocos registros cualquiera de las
> dos tendría un rendimiento similar.
Depende. Si abres una transaccion antes de hacer los DELETE, el
rendimiento deberia ser mas o menos similar; si haces cada DELETE en su
propia transaccion, seria mas rapido la version con IN. Esto porque
comprometer cada transaccion tiene un costo fijo: comprometer N
transacciones es N veces mas costoso que comprometer una.
(En cambio la diferencia de ejecutar N veces la version simple versus
una vez la version con IN es muchisimo menor).
Lo otro es que un DELETE puede tener un costo oculto si hay llaves
foraneas involucradas. Esto puede sobrepasar con creces el costo del
uso de transacciones, asi que es bueno tenerlo en cuenta. Pero este
costo se pagara de todas formas para ambas versiones, la simple y la con
IN.
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Vivir y dejar de vivir son soluciones imaginarias.
La existencia está en otra parte" (Andre Breton)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-05-07 19:09:23 | Re: Instalacion del contrib CUBE |
Previous Message | Alvaro Herrera | 2005-05-07 19:02:49 | Re: libpq |