Re: Ayuda para optimizar consulta

From: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
To: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>, gilberto castillo <gilberto(dot)castillo(at)etecsa(dot)cu>
Subject: Re: Ayuda para optimizar consulta
Date: 2015-05-09 17:46:00
Message-ID: 1036869397.1243578.1431193560326.JavaMail.root@fmed.uba.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original -----
> De: "Guillermo E. Villanueva" <guillermovil(at)gmail(dot)com>
> Para: "gilberto castillo" <gilberto(dot)castillo(at)etecsa(dot)cu>
> CC: "pgsql-es-ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> Enviados: Viernes, 8 de Mayo 2015 8:24:20
> Asunto: Re: [pgsql-es-ayuda] Ayuda para optimizar consulta
>
>
> Buenos días, les cuento que hice varias pruebas, entre ellas crear un
> índice en ambas tablas del join con las columnas:
>
>
>
> uploaddet_importcomp
>
>
>
> * fil_ clasedoc
> * fil_ tipodoc
> * fil_ nrodoc
> * fil_ nacim
>
>
>
>
>
>
> historicotemp
>
>
> * aficlasedoc
> * historicotemp.afitipodoc
> * historicotemp.afidni
> * historicotemp.afifechanac
>
>
>
>
>
> También probé haciéndo un índice con las columnas concatenadas, de
> todas maneras el planificador siempre decía que iba a hacer un seq
> scan y un sort por esos campos. Solo fue un poco mas rápido cuando
> cambié de left a inner así que tuve que cambiar la lógica de la
> aplicación.
> Una pregunta concreta, ¿hay algún índice que se pueda crear con estas
> columnas para que el planificador lo aproveche y mejore la
> performance?
>
>
No necesariamente. Si el "where" de la consulta devuelve una parte significativa de la tabla, entonces seguramente el planificador decidira que es mas performante leer directamente (de manera secuencial) de la tabla, para luego aplicarle un filtro.

Para corroborar las velocidades "secuencial vs index", intenta leer sobre estas variables:
set enable_indexscan
set enable_bitmapscan
set enable_seqscan

Para que puedas comprobar empiricamente las alternativas del planificador.

Saludos,
Gerardo

-
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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo E. Villanueva 2015-05-11 01:55:09 Re: Ayuda para optimizar consulta
Previous Message Gilberto Castillo 2015-05-08 15:00:30 Re: listar llaves foraneas y primarias