Re: ayuda

From: Martín Marqués <martin(at)2ndquadrant(dot)com>
To: Esneiker Enriquez Cabrera <eenriquez(at)cav(dot)desoft(dot)cu>, 'POSTGRES' <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ayuda
Date: 2015-08-14 21:29:07
Message-ID: 55CE5DA3.7040204@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 14/08/15 a las 14:28, Esneiker Enriquez Cabrera escribió:
> Hola amigos.
>
> Estoy eliminando registros de una base de datos y se me está demorando
> demasiado, 6 minutos aproximadamente. Mando a realizar el delete en una
> tabla, y el gestor hace las eliminaciones en las restantes tablas por
> integridad referencial, pero la demora es mucha.

La llave primaria de la tabla donde se están borrando los datos no es
referencia de llaves foraneas de otras tablas?

De ser así, postgres tendrá que chequear integridad antes de borrar los
datos.

> Antes de realizar la eliminación elimino todos los índices implicados,
> elimino y luego los vuelvo a crear.
>
> La eliminación la estoy ejecutando de la forma:
>
> Delete from tabla1 where id in (select id from tabla 2)

Mejor así:

DELETE FROM tabla1 USING tabla2
WHERE table1.id = tabla2.id;

También puedes ver el plan de ejecución usando EXPLAIN.

> En la tabla1 hay aproximadamente 7 mil registros, en las restantes hay un
> poco más.
>
> Utilizo postgres 8.4.

Pensaste actualizar? Esto ya hace casi un año que no tienen soporte
comunitario.

--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

  • ayuda at 2015-08-14 17:28:21 from Esneiker Enriquez Cabrera

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2015-08-14 21:38:06 Re: ayuda
Previous Message Martín Marqués 2015-08-14 21:07:10 Re: sobre PL/Python