Artigo SQL Magazine 18 - Influenciando o otimizador de consultas Oracle baseado em custos Parte 1

Editorial da Revista SQL Magazine - Edição 18.

Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Clique aqui para ler todos os artigos desta edição

Influenciando o otimizador de consultas Oracle baseado em custos Parte 1

 

Muitos desenvolvedores Oracle e DBAs estão familiarizados com a teoria básica por trás da otimização de consultas baseadas-em-custo: o otimizador usa estatísticas descrevendo o conteúdo de tabelas, colunas e índices para estimar o custo de vários planos de consulta possíveis para uma dada query e escolhe aquela com o menor custo. Na prática, o plano de consulta selecionado nem sempre é o mais rápido e pode, até mesmo, nem ser próximo do mais rápido. Tipicamente, quando isto acontece, podemos considerar o uso de “dicas” para forçar o otimizador a utilizar um plano de consulta melhor. Porém, isto requer a modificação do programa que solicitou a consulta, o que nem sempre é possível. Por esta e outras razões, muitos especialistas não recomendam o uso de “dicas” para “passar por cima” do otimizador, exceto como um meio de experimentar vários planos de consulta com o intuito de comparar os tempos de execução.

Perfis armazenados (stored outlines) também podem ser problemáticos, pois eles devem “casar” com as consultas às quais se aplicam. Mesmo pequenas mudanças no texto de uma consulta podem conduzir a um perfil não utilizável, e muitos sítios operacionais não têm disciplina suficiente nos seus processos de gerência de configuração para assegurar que o perfil irá migrar para a produção junto com a consulta. Finalmente, para criarmos um perfil, é preciso fazer com que o otimizador escolha o plano de consulta correto sem modificar a consulta - se isso fosse possível, você não estaria lendo este artigo!

Após o ajuste fino dos parâmetros optimizer_index_caching e optimizer_index_cost_adj, e a coleta de estatísticas nas tabelas do banco de dados, o que faremos se ainda existirem alguns casos em que o otimizador escolha um plano de acesso sub-otimizado? Este artigo é o primeiro de uma série que descreve algumas dessas situações, e algumas ações que podemos tomar para contorná-las antes de recorrer a “dicas”.

Cardinalidade estimada" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados