mejorar performance de select

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: mejorar performance de select
Date: 2011-05-23 14:46:34
Message-ID: BANLkTimkPGWMjByHMcfsyT=HuT1oVJNXXg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

buenos días,
Tengo una tabla de datos históricos con un millon de registros
aproximadamente.
En la tabla tengo un campo periodo, el cual es un timestamp con datos como:
'2011-01-01', '2011-02-01', '2011-03-01', por cada uno de esos periodos
tengo aproximadamente 100mil registros, no quiero crear una tabla adicional
de periodos.
Tengo creado un índice de la tabla por periodos.
Si realizo la consulta:
select periodo from nacer.historicotemp group by periodo
o
select distinct periodo from nacer.historicotemp

demora casi un minuto y el explain menciona que hace lo siguiente:
"HashAggregate (cost=310333.40..310333.56 rows=16 width=8) (actual
time=17045.806..17045.812 rows=17 loops=1)"
" -> Seq Scan on historicotemp (cost=0.00..301156.72 rows=3670672
width=8) (actual time=34.278..11863.851 rows=3925154 loops=1)"
"Total runtime: 17045.998 ms"

Es posible mejorar esta consulta? Hay forma de decirle que utilice el índice
por periodo?
Desde ya muchas gracias

Saludos

~~~~~~~~~~~~~~~~
Guillermo Villanueva

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2011-05-23 14:52:12 Re: mejorar performance de select
Previous Message Álvaro Hernández Tortosa 2011-05-23 14:44:02 Re: