From: | Martín Marqués <martin(at)2ndquadrant(dot)com> |
---|---|
To: | "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>, fernando lamas <flamas(dot)nacer(at)gmail(dot)com>, Martin Diaz <mardiaz28(at)yahoo(dot)com(dot)ar> |
Subject: | Re: [pgsql-es-ayuda] explain - esperaba el uso de índices |
Date: | 2014-05-26 17:24:49 |
Message-ID: | CABeG9Ltj=VEQ3sQxUtJN0gGuZdLWN5sEyZEELqYgGw1YdFxkvA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | arpug pgsql-es-ayuda pgsql-es-fomento |
El día 26 de mayo de 2014, 10:23, Guillermo E. Villanueva
<guillermovil(at)gmail(dot)com> escribió:
> explain
> select *
> from
> nacer.historicotemp h
> inner join nacer.smiafiliados s on
> h.clavebeneficiario = s.clavebeneficiario;
>
> Con siguiente resultado
>
> "Hash Join (cost=33335.39..1817942.71 rows=5692774 width=1002)"
> " Hash Cond: ((h.clavebeneficiario)::text = (s.clavebeneficiario)::text)"
> " -> Seq Scan on historicotemp h (cost=0.00..578624.74 rows=5692774
> width=762)"
> " -> Hash (cost=15677.73..15677.73 rows=394773 width=240)"
> " -> Seq Scan on smiafiliados s (cost=0.00..15677.73 rows=394773
> width=240)"
>
> Ambas tablas tienen indexada la columna clavebeneficiario y como ven ambas
> tablas creo que son lo suficientemente grande para la prueba.
> (La tabla h tiene mas de 5 millones de registros y la tabla s tiene unos 400
> mil registros)
> Yo esperaba que al join lo haga utilizando índices, sin embargo veo que el
> planificador no lo usa, ¿Tienen idea por qué?
Eso es porque de todas formas va a tener que leer las dos tablas
completas para poder entregarte las tuplas que se generan con el JOIN.
Postgres sabe eso, y por lo tanto hace la busqueda secuencial (sino
tendria que usar el indice y después hacer una busqueda secuencial, lo
que es más costoso).
Agregale un LIMIT 100 al final y veras que usa los indices.
P.D.: Una consulta que retorna 5692774 filas no parece muy interesante.
Saludos,
--
Martín Marqués http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Guillermo E. Villanueva | 2014-05-26 18:07:48 | Re: [pgsql-es-ayuda] explain - esperaba el uso de índices |
Previous Message | Brian Colman | 2014-05-26 16:03:22 | Re: [pgsql-es-ayuda] explain - esperaba el uso de índices |
From | Date | Subject | |
---|---|---|---|
Next Message | Juan | 2014-05-26 17:26:56 | Re: [pgsql-es-ayuda] Validación de campos |
Previous Message | Rodrigo Gonzalez | 2014-05-26 17:20:53 | Re: Validación de campos |
From | Date | Subject | |
---|---|---|---|
Next Message | Guillermo E. Villanueva | 2014-05-26 18:07:48 | Re: [pgsql-es-ayuda] explain - esperaba el uso de índices |
Previous Message | Brian Colman | 2014-05-26 16:03:22 | Re: [pgsql-es-ayuda] explain - esperaba el uso de índices |