Clustering Factor Again ….

Em outro post, vimos o funcionamento do clustering factor e suas artimanhas.

Neste preparei um exemplo interessante …..

Nosso teste agora baseia-se em uma tabela que possui 11 mil linhas (dados aleatórios) e a partir dela criamos mais duas.

A tabela original possui duas colunas A e B, depois criamos duas tabelas (Teste1 e Teste2) com os mesmos dados da tabela original.

A tabela Teste1 foi criada com a seguinte sintaxe:

  • create table teste1 as select * from teste order by A;

A tabela Teste2 foi criada com a seguinte sintaxe:

  • create table teste2 as select * from teste order by B;

Após a criação das tabelas, foram criados índices sobre a coluna A, nas duas tabelas, e também atualizei as estatísticas. Conforme imagem abaixo:

Agora se analisarmos os valores do clustering factor e compararmos entre as duas tabelas, imagem abaixo, podemos notar um diferença interessante.

A tabela Teste1 que teve a criação com ordem pela coluna A, coincidente com a coluna do índice criado, possui um clustering_factor bem menor do o índice da Tabela2, que teve sua criação com ordem na coluna B.

Com isto podemos concluir, que a ordenação dos dados entre as colunas e índices, influi de forma considerável, pois, serão necessários menos saltos entre blocos para fazer um scan.

Saudações Vascaínas ….