mauricio pullabuestan escribió:
> Buen día.
> Tengo una función que hace cálculos y luego actualizo algunos campos de 2 
> tablas  (600000 y 20000 registros cada una) que tienen trigger y relación con 
> otras tablas, el update demora mucho, para agilitar el proceso deshabilito 
> los trigger, dentro de la función pero el rendimiento no mejora mucho.
> Como puedo eliminar las relaciones en las que esta involucrada la tabla y 
> luego volver a crear las relaciones.Que tan seguro es hacer esto.
> Los campos que actualizo no son parte de ningún indice, está actualización se 
> hará esporadicamente 1 ó 2 vez por día o la semana en horas laborables pues 
> se necesitan los datos una vez re-calculados,  estoy trabajando con 
> PostgreSQL 9.4.5 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 
> 20080704 (Red Hat 4.1.2-55), 64-bit Saludos.Mauricio

Yo sugeriría bajar un poco el fillfactor de la tabla, de manera que la
segunda copia de cada registro quepa en la misma página.  De esta forma
se podrían hacer updates HOT más a menudo, y quizás no sería tan lento.
Primero fíjate si los update son o no HOT, mirando los contadores en
pg_stat_user_tables.  ¿qué porcentaje de la tabla estás actualizando?

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

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

Responder a