Pessoal
Alguém sabe se o PostgreSQL tem alguma estatística que mede o quanto uma
determinada coluna na tabela (coluna essa indexada)  possui os valores
próximos no mesmo bloco do disco.

 vejam esse exemplo:

SQL> create table disorganized
  2  as
  3  select x.*
  4    from (select * from stage
          order by dbms_random.random) x
  5  /
Table created.

No exemplo a tabela DISORGANIZED foi criada utilizando um (RANDOM) para
ficar desordenada. Neste caso ela irá necessitar  de muito I/O pois os
dados do indices no nivel folha não estão na em sequencia. Precisando ter
muitos acessos ao índice para achar os endereço dos dados e buscar
efetivamente.

Uma solução para esse problema seria recriar a tabela como abaixo:

SQL> create table organized
  2  as
  3  select x.*
  4    from (select * from stage
             order by object_name) x
  5  /
Table created.

Gostaria de saber se alguém sabe de alguma estatistica que de para saber de
antemão qual é o grau de agrupamento de dados no indice. Para poder
diferenciar quando um indice é bom ou não. Desculpa pelo SQL nao ser do
PostgreSQL mas é o que eu tinha na mão aqui...

Qualquer ajuda é bem vinda.

Wiliam
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a