Re: Tablas no modificables

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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