Re: ayuda

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: Carolina Hurtado Londoño <carohurtado(at)yahoo(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ayuda
Date: 2005-05-03 18:05:26
Message-ID: 20050503180526.GA12359@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, May 03, 2005 at 10:40:08AM -0500, Jaime Casanova wrote:
> On 5/3/05, Carolina Hurtado Londoño <carohurtado(at)yahoo(dot)com> wrote:
> > Hola a todos:
> > En este momento me encuentro realizando unas pruebas para mejorar el
> > performance en postgres, segun las teorias los indices B-tree reconocen
> > operadores con: >=, >, <=, <,=, para probar esto realice la siguiente
> > consulta con cada uno de los operadores a una tabla que contiene 4'900.000
> > registros:
> > explain analyze select t004_f_liq from liquidacion where t004_f_liq >
> > '2000-12-12'; el problema es que algunas veces utiliza los indices y otras
> > veces no ejecutando la misma consulta. Que puede ser?
> > Si alguien me puede ayudar lo agradecería enormemente.
> >
> Bueno, la teoria dice que se deben usar los indices si el conjunto de
> registros corresponde al 20% de la tabla (postgres considera el uso de
> indices cuando corresponde al 10%).

Hay dos cosas importante que diferencia a Postgres de casi todos los
otros gestores de bases de datos en este punto:

1. la informacion de visibilidad de tuplas no puede ser obtenida del
indice; por lo tanto necesitas visitar el heap en un indexscan

2. no existen los "clustered indexes", esto es, indices que contengan
toda la informacion de las tuplas. Los indices siempre contienen
solamente punteros al heap.

Otras bases de datos pueden permitirse recorrer los indices cuando los
porcentajes de selectividad son mucho mayores que Postgres. En este
ultimo, el punto de corte es mucho mas bajo.

FWIW, en 8.1 hay un nuevo tipo de recorrido de indice mucho mas cool
que el indexscan tipico, cuya descripcion dejare para otra oportunidad.

--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"La primera ley de las demostraciones en vivo es: no trate de usar el sistema.
Escriba un guión que no toque nada para no causar daños." (Jakob Nielsen)

In response to

  • Re: ayuda at 2005-05-03 15:40:08 from Jaime Casanova

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Juliÿffffe1n de la Fuente 2005-05-03 20:27:28 Cursor
Previous Message PEDRO HUAMAN CASAZ 2005-05-03 17:26:35 tabala temporal en una misma funcion