Re: Tablas no modificables

From: Eduardo Morras <nec556(at)retena(dot)com>
To: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Tablas no modificables
Date: 2011-06-06 15:40:59
Message-ID: 4D6348DC01325DD0@
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, ya siento tardar tanto en respoder

At 20:24 31/05/2011, Jaime Casanova wrote:
>2011/5/31 Eduardo Morras <nec556(at)retena(dot)com>:
> > 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)

A esto me refiero, si la tabla es estatica con
datos que sabemos que no se van a modificar, como
datos historicos, diccionarios de datos, etc...;
no hace falta realizar una comprobacion de la
visibilidad. En caso de necesitar un valor que
involucre mas del 10-20% o el limite que sea de
la tabla para hacer un table scan, se podra usar
el index scan ya que sabemos por construccion de
la tabla que no es modificable y el indice
refleja fielmente el contenido de la misma. Hacer
un count() de toda la tabla obliga a hacer

>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

O para toda la tabla si fuese no modificable.

Un saludo y muchas gracias

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2011-06-06 16:04:16 Re: Problema con Pgbench y Pgpool-II
Previous Message Lazaro Rubén García Martinez 2011-06-06 15:22:23 Problema con Pgbench y Pgpool-II