Re: problema con query lento

From: Diego Ayala <netdiego81(at)gmail(dot)com>
To: Silvio Quadri <silvioq(at)gmail(dot)com>
Cc: Postgres Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: problema con query lento
Date: 2011-04-14 12:40:33
Message-ID: BANLkTimjhf8T9-zB1fxJXhACYHCtmxmcHQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

SI, restaure una copia de la base de un dia antes, con la casi misma
cantidad de registros, y sin desactivar ningun trigger.. la configuracion
del postgresql.conf es la misma, a excepcion del shared_buffers, ya q el de
desarrollo tiene menos memoria... lo peor, es q en el de desarrollo no es
muy continuo realizar el vacuum, solo esta con el autovacuum configurado, en
produccion, a parte del autovacuum, tengo un script q lo ejecuto 2 veces por
dia, para hacer un vacuum analyze..

El 14 de abril de 2011 08:34, Silvio Quadri <silvioq(at)gmail(dot)com> escribió:

> El día 14 de abril de 2011 09:02, Diego Ayala <netdiego81(at)gmail(dot)com>
> escribió:
> > Amigos, una duda que no me quedo claro respecto a esto es lo siguiente,
> > ayer, hice pruebas en un servidor de desarrollo, y en el de produccion
> sobre
> > este query, y viendo el resultado del explain, me llamo la atencion la
> > diferencia de tiempo, y por sobre todo, la forma que utilizo los indices,
> en
> > produccion, solo utiliza las pk, en desarrollo, donde casi es nula la
> > actividad, utilizo los indices de todas las tablas, por que ese
> > comportamiento tan diferente, realmente tiene algo que ver la cantidad de
> > movimiento que existe en un servidor y otro, para que decida ejecutarse
> de
> > una y otra forma.. inclusive, hice la prueba en el servidor de produccion
> > durante la noche, al no haber actividad, y obtuve el mismo resultado del
> > explain.. les paso para el resultado de ambos, que realmente me llama
> mucho
> > la atencion, el servidor de desarrollo tiene la misma version del
> > postgresql, es tambien de 64 bits, pero solo tiene 4 cores y 4 GB de RAM.
> >
> > EXPLAIN EN PRODUCCION, SOLO USA LAS PKs....
> >
> > Limit (cost=0.00..3898.64 rows=10 width=128) (actual
> > time=356.290..41325.074 rows=2 loops=1)"
> > " -> Nested Loop (cost=0.00..1120468.40 rows=2874 width=128) (actual
> > time=356.288..41325.067 rows=2 loops=1)"
> > " -> Nested Loop (cost=0.00..1119657.11 rows=2874 width=116)
> > (actual time=356.268..41325.034 rows=2 loops=1)"
> > " -> Index Scan Backward using pk_item on item_solicitado
> > item (cost=0.00..200976.40 rows=2608137 width=110) (actual
> > time=0.051..9049.918 rows=2610986 loops=1)"
> > " Filter: ver"
> > " -> Index Scan using pk_llamado_grupo on llamado_grupo
> > (cost=0.00..0.34 rows=1 width=14) (actual time=0.009..0.009 rows=0
> > loops=2610986)"
> > " Index Cond: (llamado_grupo.id =
> item.llamado_grupo_id)"
> > " Filter: (llamado_grupo.llamado_id = 127968)"
> > " -> Index Scan using producto_n5_pkey on producto_n5
> > (cost=0.00..0.27 rows=1 width=20) (actual time=0.008..0.009 rows=1
> loops=2)"
> > " Index Cond: (producto_n5.id = item.producto_n5_id)"
> > "Total runtime: 41325.263 ms"
> >
> >
> >
> > EXPLAIN EN DESARROLLO, USO LOS INDICES
> >
> > "Limit (cost=13514.89..13514.92 rows=10 width=128) (actual
> > time=44.792..44.799 rows=2 loops=1)"
> > " -> Sort (cost=13514.89..13522.47 rows=3031 width=128) (actual
> > time=44.788..44.790 rows=2 loops=1)"
> > " Sort Key: item.id"
> > " Sort Method: quicksort Memory: 25kB"
> > " -> Hash Join (cost=987.75..13449.39 rows=3031 width=128)
> (actual
> > time=44.742..44.770 rows=2 loops=1)"
> > " Hash Cond: (item.producto_n5_id = producto_n5.id)"
> > " -> Nested Loop (cost=0.00..12187.82 rows=3031 width=116)
> > (actual time=0.043..0.085 rows=2 loops=1)"
> > " -> Index Scan using idx_llamado_grupo_llamado_id on
> > llamado_grupo (cost=0.00..107.25 rows=28 width=14) (actual
> > time=0.024..0.030 rows=2 loops=1)"
> > " Index Cond: (llamado_id = 127968)"
> > " -> Index Scan using
> > idx_item_solicitado_llamado_grupo_id on item_solicitado item
> > (cost=0.00..430.10 rows=108 width=110) (actual time=0.015..0.019 rows=1
> > loops=2)"
> > " Index Cond: (item.llamado_grupo_id =
> > llamado_grupo.id)"
> > " Filter: item.ver"
> > " -> Hash (cost=647.22..647.22 rows=18522 width=20)
> (actual
> > time=42.738..42.738 rows=18522 loops=1)"
> > " -> Seq Scan on producto_n5 (cost=0.00..647.22
> > rows=18522 width=20) (actual time=0.004..21.221 rows=18522 loops=1)"
> > "Total runtime: 45.033 ms"
> >
> >
>
> ¿Tenés el mismo juego de datos y están los vacuum hechos?
> Silvio
>
>
> --
> Silvio Quadri
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Crispin T. 2011-04-14 13:22:50 problema con insert bytea
Previous Message Silvio Quadri 2011-04-14 12:34:37 Re: problema con query lento