Re: mejorar performance de select

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: mejorar performance de select
Date: 2011-05-24 20:06:03
Message-ID: 1306267331-sup-9128@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Excerpts from Guillermo Villanueva's message of lun may 23 10:46:34 -0400 2011:

> 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

Creo que este es el tipo de consulta que se puede responder rápidamente
usando "skip scan", pero no tenemos esa funcionalidad en Postgres.

En un skip scan, se va al índice y se busca un valor X (que puede ser el
menor valor presente en el índice, o bien un valor de borde determinado
por la consulta). Luego empiezas de nuevo a recorrer el índice usando
un predicado "y > X"; con eso obtienes el segundo valor, potencialmente
evitando recorrer una parte importante del índice (todos aquellos
registros que tienen idénticos valores de X). Y así sucesivamente,
obtienes todos los valores "distinct".

Me pregunto en qué tipo de casos esta funcionalidad será realmente útil.
Digo, como para considerar implementarla como un primer proyecto dentro
del ejecutor y optimizador ...

--
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo 2011-05-24 20:18:21 [OT] Charla Gratuita: Tema Libre sobre PostgreSQL
Previous Message Alvaro Herrera 2011-05-24 19:52:34 Re: Tamaño de indices???