Pessoal
Sobre a dúvida acima, achei no manual do PostgreSQL, somente a view pg_index
que tem uma coluna chamada
indisclustered  que retorna verdadeiro, se a tabela foi agrupada na última
vez pelo índice.
Na verdade, eu gostaria de saber o fator de agrupamento dos dados, não
somente se a tabela está ou não ordenada pela coluna indexada, ou seja,
imagine um indice em uma coluna chamada valor_salario, se a tabela foi
criada em uma ordem , do menor salario para o maior, caso eu faça uma
varredura procurando, salarios > 1000, com certeza o uso do indice irá ser
fenomenal, pois além de poder ir direto no dado, utilizando o indice, os
dados irão estar na sequencia. na tabela também.

Alguém sabe outra estatistica, que eu poderia de antemão saber o grau de
agrupamento de dados na tabela ????
Só um lembrete, esse dado deveria estar na view estatistica de indice, pois
não tem como uma tabela estar agrupada pela coluna x e y ao mesmo tempo,
então como o indice na maioria das vezes está em uma coluna somente, entao
esse dado é importe. Alguem já utilizou isso?


[]'s Wilam

?




Em 29 de agosto de 2014 23:07, Wiliam Balan <[email protected]>
escreveu:

> 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