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)
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 |