RE: Bajo rendimiento en postgresql cuando se lanza un delete

From: "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>
To: "'Francisco Manuel Quintana Trujillo'" <fquintana(at)itccanarias(dot)org>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Bajo rendimiento en postgresql cuando se lanza un delete
Date: 2009-08-03 14:22:22
Message-ID: 97020BF957F540DC8EDB5ABA2C5A2813@iptel.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> -----Mensaje original-----
> De: Francisco Manuel Quintana Trujillo
>
> Hola,
>
> Ante todo agradecer la colaboración que me han prestado en el foro.
>
> Por fin, la consulta,
> "delete from observation
> where observation_id in (select observation_id from
> observation EXCEPT select observation_id from quality)",
> terminó no sin antes demorarse 25 horas.
>
> Tareas por hacer:
> - Vacumm.
> - Crear las reglas eliminadas.
> - Crear la constraint en la tabla quality sobre el campo
> observation_id(clave ajena que referencia a la tabla observation).
> - Crear un índice en la tabla quality sobre el campo observation_id.
> - Seguir insertando datos (todo en este estricto orden porque
> los datos no están validados ya se sabe claves duplicadas,
> etc... quizás las reglas no las genere ya que puedo
> realizarlo al final).
>
> - Pasar todo al servidor.
> - Optimizar la base de datos en el servidor.
>
> Saludos, Oliver
>

Oliver, no dejes de probar cambiar work_mem antes de ejecutar el delete:

set work_mem = 1GB;

EXPLAIN DELETE FROM observation
WHERE observation_id NOT IN
(SELECT observation_id FROM quality);

Dedicando 1GB para sorts tu consulta original debiera ser mucho más rápida.

Saludos,
Fernando.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Barcena 2009-08-03 15:38:54 error PG LOWER
Previous Message Francisco Manuel Quintana Trujillo 2009-08-03 07:14:59 RE: Bajo rendimiento en postgresql cuando se lanza un delete