Optimizer_index_caching

Mais um parâmetro de influência no CBO.

Este gera influência sob a percepção do “Otimizador Oracle” em calcular os custos para as operações de nested loop e iterações do tipo IN-List.

A configuração deste significa assumir quantos % dos blocos (dos respectivos índices) estarão em memória. Tendo o valor default igual a 0 (zero), que é o pior caso: “não há nenhum bloco em memória”.

Do lado contrário, quando este está configurado com o valor 100, signfica dizer: “100% dos blocos dos índices existentes na tabela estarão em memória”.

Deve ter-se atenção na configuração deste parâmetro, já que as operações de nested loop serão beneficiadas, sendo que, para alguns casos, está não será a melhor opção. Mas isto ficará para outro post.

Segue um pequeno exemplo da influência deste parâmetro sobre o comportamento da BD:

  • Um select simples com IN-LIST iterator, com o optimizer_index_caching=0;

  • O mesmo select, mas agora com o optimizer_index_caching=100;

Conclusão:

O parâmetro influência a percepção do Oracle sobre os custo, no exemplo acima, o custo será 4 se 100% dos blocos do índice M_IDX estiverem em memória, com isto, este tipo de operação teria menor custo. Devido a este controle e conhecimento da aplicação e configuração de todo ambiente é que torna difícil acertar um valor para tais parâmetros. Recomenda-se deixar sempre o default (zero) que seria o pior caso.

Use com moderação!!!!

Saudações Vascaínas….

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s