Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group