RE: Consulta complejas

From: "ViBaSoft" <vibasoft(at)gmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Consulta complejas
Date: 2012-04-13 03:53:04
Message-ID: 000001cd1928$f0ac6ab0$d2054010$@com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ahora todas las pruebas que hago estare haciendo en mi notebook sobre una memoria total que tengo de 4GB, y la tabla mas grande que tengo es 6.500.000 registro en facturas.

work_mem = 32MB

shared_buffers=1024MB

Esto ajuste ahora mismo y la velocidad no ha cambiado

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

La secuencia tengo de esa forma, en los joins ahora cambie esa secuencia que no tenia de esa forma pero sigue igual la velocidad

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

Esto hice sobre la columna factura en la tabla facturas que es la mas grande

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%';

"factura";"r";1.41349e+006;49391

"facturaa";"r";1199;17

"facturaa_idfacturaa_seq";"S";1;1

"facturacnf";"r";9;1

"facturacnf_idfacturacnf_seq";"S";1;1

"facturas";"r";6.50302e+006;175375

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

Periodicamente lo hago ahora

Vuelvo a probar y todo sigue igual

Despues de cambiar algunos parámetro esto me saca el explain analyze

Per node type stats

node type

count

sum of times

% of query

Append

1

0.072 ms

0.0 %

GroupAggregate

1

0.047 ms

0.0 %

Hash

17

1.127 ms

0.0 %

Hash Join

17

6.385 ms

0.0 %

HashAggregate

1

5.799 ms

0.0 %

Index Scan

4

0.337 ms

0.0 %

Materialize

1

0.066 ms

0.0 %

Nested Loop

5

1.761 ms

0.0 %

Nested Loop Left Join

3

0.508 ms

0.0 %

Seq Scan

23

48462.535 ms

100.0 %

Sort

2

8.112 ms

0.0 %

Per table stats

Table name

Scan count

Total time

% of query

scan type

count

sum of times

% of table

compra

1

0.096 ms

0.0 %

Seq Scan

1

0.096 ms

100.0 %

compras

1

0.000 ms

0.0 %

Index Scan

1

0.000 ms

0.0 %

depositos

2

0.008 ms

0.0 %

Seq Scan

2

0.008 ms

100.0 %

divisiones

2

0.008 ms

0.0 %

Seq Scan

2

0.008 ms

100.0 %

existencias

1

0.057 ms

0.0 %

Index Scan

1

0.057 ms

100.0 %

factura

1

0.168 ms

0.0 %

Index Scan

1

0.168 ms

100.0 %

facturas

1

48459.800 ms

99.9 %

Seq Scan

1

48459.800 ms

100.0 %

familiasp

2

0.061 ms

0.0 %

Seq Scan

2

0.061 ms

100.0 %

formaspre

1

0.005 ms

0.0 %

Seq Scan

1

0.005 ms

100.0 %

lineasp

2

0.089 ms

0.0 %

Seq Scan

2

0.089 ms

100.0 %

marcas

2

0.004 ms

0.0 %

Seq Scan

2

0.004 ms

100.0 %

prod_transf

1

0.112 ms

0.0 %

Index Scan

1

0.112 ms

100.0 %

prod_transfd

1

0.056 ms

0.0 %

Seq Scan

1

0.056 ms

100.0 %

productos

2

1.400 ms

0.0 %

Seq Scan

2

1.400 ms

100.0 %

productosb

2

0.161 ms

0.0 %

Seq Scan

2

0.161 ms

100.0 %

productosp

1

0.793 ms

0.0 %

Seq Scan

1

0.793 ms

100.0 %

rubros

2

0.018 ms

0.0 %

Seq Scan

2

0.018 ms

100.0 %

secciones

2

0.036 ms

0.0 %

Seq Scan

2

0.036 ms

100.0 %

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Eduardo Arenas C. 2012-04-13 05:06:04 Re: Consulta complejas
Previous Message ViBaSoft 2012-04-13 02:58:44 RV: Consulta complejas