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