Re: Consulta complejas

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: ViBaSoft <vibasoft(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta complejas
Date: 2012-04-12 14:50:04
Message-ID: 4F86EB9C.60801@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, según veo en el reporte, lo que más se está tardando en el plan
de ejecución son los
nodos de tipo Hash y el Hash Left join, que constituye el 65,2 % de la
consulta.

Fíjate en tu consulta cuando hiciste el EXPLAIN ANALYZE donde es que
están estos Hash, que me imagino
que debe ser en los JOINS, y trata de cambiar la secuencia de los
mismos, o sea, la tabla que más tiene
datos debería estar a la izquierda:
Ej.: WHERE tablagrande.id = tablachiquita.id

Luego, haz un ALTER TABLE tablagrande SET STATISTICS 1000;
para que se actulizen las estadístiscas en esa tabla.

Ahora, según vemos, las tablas factura y facturas son las que más se
demoran. ¿Podrías enviar esta información?

SELECT relname,
relkind,
reltuples,
relpages
FROM pg_class
WHERE relname LIKE 'factura%';

Esto nos dará el número total de entradas en la tablas e índices que
comienzen con
factura, así como el número de bloques en disco ocupados por cada tabla
e índice de factura.

Recomiendo también que hagas un VACUUM ANALYZE sobre esas tablas
Saludos

On 04/12/2012 10:33 PM, ViBaSoft wrote:
>
> Per node type stats
>
> node type
>
>
>
> count
>
>
>
> sum of times
>
>
>
> % of query
>
> Append
>
>
>
> 1
>
>
>
> 0.390 ms
>
>
>
> 0.0 %
>
> Bitmap Heap Scan
>
>
>
> 1
>
>
>
> 0.093 ms
>
>
>
> 0.0 %
>
> Bitmap Index Scan
>
>
>
> 1
>
>
>
> 0.035 ms
>
>
>
> 0.0 %
>
> GroupAggregate
>
>
>
> 1
>
>
>
> 521.539 ms
>
>
>
> 0.6 %
>
> Hash
>
>
>
> 24
>
>
>
> 2727.631 ms
>
>
>
> 3.1 %
>
> Hash Join
>
>
>
> 21
>
>
>
> 14.067 ms
>
>
>
> 0.0 %
>
> Hash Left Join
>
>
>
> 3
>
>
>
> 58127.932 ms
>
>
>
> 65.2 %
>
> HashAggregate
>
>
>
> 1
>
>
>
> 9.597 ms
>
>
>
> 0.0 %
>
> Materialize
>
>
>
> 1
>
>
>
> 1139.991 ms
>
>
>
> 1.3 %
>
> Merge Join
>
>
>
> 1
>
>
>
> 2471.029 ms
>
>
>
> 2.8 %
>
> Seq Scan
>
>
>
> 26
>
>
>
> 6149.016 ms
>
>
>
> 6.9 %
>
> Sort
>
>
>
> 4
>
>
>
> 17925.238 ms
>
>
>
> 20.1 %
>
> Per table stats
>
> Table name
>
>
>
> Scan count
>
>
>
> Total time
>
>
>
> % of query
>
> scan type
>
>
>
> count
>
>
>
> sum of times
>
>
>
> % of table
>
> compra
>
>
>
> 1
>
>
>
> 0.479 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 0.479 ms
>
>
>
> 100.0 %
>
> compras
>
>
>
> 1
>
>
>
> 0.625 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 0.625 ms
>
>
>
> 100.0 %
>
> depositos
>
>
>
> 2
>
>
>
> 0.016 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.016 ms
>
>
>
> 100.0 %
>
> divisiones
>
>
>
> 2
>
>
>
> 0.006 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.006 ms
>
>
>
> 100.0 %
>
> existencias
>
>
>
> 1
>
>
>
> 0.093 ms
>
>
>
> 0.0 %
>
> Bitmap Heap Scan
>
>
>
> 1
>
>
>
> 0.093 ms
>
>
>
> 100.0 %
>
> factura
>
>
>
> 1
>
>
>
> 649.125 ms
>
>
>
> 0.7 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 649.125 ms
>
>
>
> 100.0 %
>
> facturas
>
>
>
> 1
>
>
>
> 5495.427 ms
>
>
>
> 6.2 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 5495.427 ms
>
>
>
> 100.0 %
>
> familiasp
>
>
>
> 2
>
>
>
> 0.054 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.054 ms
>
>
>
> 100.0 %
>
> formaspre
>
>
>
> 1
>
>
>
> 0.005 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 0.005 ms
>
>
>
> 100.0 %
>
> lineasp
>
>
>
> 2
>
>
>
> 0.079 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.079 ms
>
>
>
> 100.0 %
>
> marcas
>
>
>
> 2
>
>
>
> 0.009 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.009 ms
>
>
>
> 100.0 %
>
> prod_transf
>
>
>
> 1
>
>
>
> 0.073 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 0.073 ms
>
>
>
> 100.0 %
>
> prod_transfd
>
>
>
> 1
>
>
>
> 1.016 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 1.016 ms
>
>
>
> 100.0 %
>
> productos
>
>
>
> 2
>
>
>
> 1.422 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 1.422 ms
>
>
>
> 100.0 %
>
> productosb
>
>
>
> 2
>
>
>
> 0.128 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.128 ms
>
>
>
> 100.0 %
>
> productosp
>
>
>
> 1
>
>
>
> 0.528 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 1
>
>
>
> 0.528 ms
>
>
>
> 100.0 %
>
> rubros
>
>
>
> 2
>
>
>
> 0.015 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.015 ms
>
>
>
> 100.0 %
>
> secciones
>
>
>
> 2
>
>
>
> 0.009 ms
>
>
>
> 0.0 %
>
> Seq Scan
>
>
>
> 2
>
>
>
> 0.009 ms
>
>
>
> 100.0 %
>
> Revise pero prácticamente no comprendo el resultado, si veo que en
> factura y facturas son los que mas tardan y eso es lo que quiero optimizar
>
> -----Mensaje original-----
> De: Alvaro Herrera [mailto:alvherre(at)alvh(dot)no-ip(dot)org]
> Enviado el: jueves, 12 de abril de 2012 10:17 a.m.
> Para: Victor Báez
> CC: Ayuda
> Asunto: Re: [pgsql-es-ayuda] Consulta complejas
>
> Excerpts from Victor Báez's message of jue abr 12 11:08:26 -0300 2012:
>
> > Disculpa ayer sin darme cuenta respondi directamente a un correo
> personal
>
> >
>
> > El EXPLAIN ANALYSE me saca esto que es de mi servidor
>
> Esto es bien ilegible. Creo que deberías subirlo, mejor, a
>
> http://explain.depesz.com (¿o es .org?)
>
> --
>
> Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>
> -----
>
> Se certificó que el correo no contiene virus.
>
> Comprobada por AVG - www.avg.es
>
> Versión: 2012.0.1913 / Base de datos de virus: 2411/4929 - Fecha de la
> versión: 11/04/2012
>
>
>
> <http://www.uci.cu/>

--
Marcos Luis Ortíz Valmaseda (@marcosluis2186)
Data Engineer at UCI
http://marcosluis2186.posterous.com

10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lennin Caro 2012-04-12 15:48:48 Re: RV: Consulta complejas
Previous Message Eduardo Morras 2012-04-12 14:39:13 Re: Consulta complejas