From: | FRANCISCO JOSE PALAO VILLANUEVA <fjpv_2000(at)yahoo(dot)es> |
---|---|
To: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Duración update |
Date: | 2014-04-14 12:21:45 |
Message-ID: | 1397478105.19249.YahooMailNeo@web172603.mail.ir2.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
tengo un update p_c set pc_d5c=null where pbv_id between 803 and 809.
El campo pc_d5c varchar(2) no está indexado.
El campo pbv_id si está indexado.
La tabla tienen 474818 registros
el analyze me muestra:
Update on p_c (cost=0.00..50294.05 rows=606470 width=355)
-> Seq Scan on p_c (cost=0.00..50294.05 rows=606470 width=355)
Filter: ((pbv_id >= 803) AND (pbv_id <= 999))
Cuando la lanzo me ha tardado 212207 ms.
Hacia la mitad del tiempo se lanza autovacuum sobre la tabla p_c y tarda un montón de tiempo en terminar, después incluso de que la consulta terminó (vamos que pensaba que se había quedado colgado). Si lanzo el vacuum analyze desde pgadmin, mata al autovacuum y termina en 102165 ms.
Aparecen varios mensajes de aumentar checkpoints segments en el log, por lo que cambié los valores a:
checkpoint_segments=5 y checkpoint_warning = 60s, con lo que me aparecen bastantes menos.
Me imagino que debo mejorar algo en la configuración para que no tarde tanto
Este tema me preocupa ya que estoy haciendo pruebas, (la tabla p_c es la tabla de clientes) y va a tener en producción bastante más carga de trabajo que un simple update.
Haber si me pueden ayudar Gracias
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2014-04-14 14:24:22 | Re: Duración update |
Previous Message | Alberto Cabello Sánchez | 2014-04-14 09:40:53 | Re: Ayuda documentación científicos para justificar el uso de Postgresql + PostGIS |