De fato, nas versões apartir da 8.2 (se nao me engano) o postgresql consegue
"simular" um indice bitmap em memória, mas como disposto também em [1]:

A condição pode ser dividida em n utilizações separadas de um índice sobre
uma condição where. Depois é verificado o operador. Depois de os resultados
serem recuperados são  juntados usando o operador. Para combinar os índices
compostos, o sistema percorre cada índice necessário e cria um bitmap em
memória, que fornece a localização das tuplas que verificam as condições dos
índices. Os bitmaps são então unidos (tendo em conta a interrogação, usando
ANDs ou ORs) e as tuplas reais são devolvidas. As tuplas são então visitadas
pela ordem física que apresentam, por essa ser a ordem representada pelos
bitmap, o que significa que qualquer ordenação do índice original é perdida,
e que um passo extra de ordenação irá ser necessário no caso da interrogação
incluir uma cláusula ORDER BY. Por esta razão e por ser necessário percorrer
o índice um maior número de vezes, o otimizador em geral opta por utilizar
um índice simples mesmo tendo outros índices disponíveis.


Algumas boas literaturas que podem ser vista sobre o tema são:

SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de Banco de
Dados. Editora Makron Books.
MOLINA, Hector Garcia; ULLMAN, Jeffrey D.; WIDOM, Jennifer. Database Systems
– The complete book. Prentice Hall
NAVATHE; ELMASRI. Sistema de Banco de Dados: Fundamentos e Aplicações.
Editora LTC

[1] http://www.postgresql.org/docs/8.4/static/indexes-bitmap-scans.html


Att,



-- 
Charly Frankl
http://javadevilopers.blogspot.com/
[email protected]
Linux user #391083






2009/10/5 Fabrízio de Royes Mello <[email protected]>

>
> 2009/10/5 Euler Taveira de Oliveira <[email protected]>
>
>> Como eu disse anteriormente, o planejador pode produzir um plano que
>> utiliza
>> mais do que um índice por tabela. Por exemplo, em junções com a mesma
>> tabela e
>>  quando a tabela aparece em mais de um nó no plano de execução.
>>
>>
> Tranquilo... isso eu sabia... mas no "mesmo nó" somente com o bitmapscan
> para utilizar mais de um índice né?
>
>
> --
> Fabrízio de Royes Mello
> >> Blog sobre TI: http://fabriziomello.blogspot.com
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a