From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | Eduardo Morras <nec556(at)retena(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Tablas no modificables |
Date: | 2011-05-31 18:24:00 |
Message-ID: | BANLkTim6KipLzbODtFLqCTBk9vW5OKewqg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2011/5/31 Eduardo Morras <nec556(at)retena(dot)com>:
>
> O sea, cuando hago un select de este tipo
>
> SELECT COUNT() FROM Tabla1 WHERE (id>=1000 AND id<=9999)
>
> y existe un indice en Tabla1 por el campo id, se usa dicho indice para
> acelerar la consulta?
>
si los registros comprendidos entre (id>=1000 AND id<=9999) conforman
una pequeña porcion (alrededor del 10% o menos) del total de la tabla,
si...
> Tenia entendido precisamente que no, que hay que hacer un tablescan porque
> el usar mvcc impide conocer en el indice que filas/registros estan activos
> para la consulta actual y cuales pertenecen a otras transacciones anteriores
> y pueden mostrar datos borrados o actualizados.
>
ah! es que en postgres un index scan siempre requiere luego leer la
tabla para verificar la visibilidad... es decir, una cosa es que use
el índice pero eso no evita que luego deba leer la tabla pero no leera
*toda* la tabla sino solo las paginas necesarias para verificar la
visibilidad de esos registros (por eso es que para usar el indice la
condicion es que sea una pequeña porcion de la tabla, de lo contrario
terminaria leyendo toda la tabla igual y seria mas rapido leer la
tabla directamente en lugar de visitar el indice)
sin embargo si tu consulta incluye varios campos indexados podria
usarlos para formar un bitmap index y eso te permitira usar los
indices aun para una porcion mayor de la tabla
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | Lazaro Rubén García Martinez | 2011-05-31 20:15:08 | RE: duda con lenguaje plpgsql |
Previous Message | Jaime Casanova | 2011-05-31 18:17:03 | Re: Tablas no modificables |