Por que minha consulta esta alternando planos de execução diferentes?

Bind Histograms

A utilização de BIND VARIABLE é muito recomendada quando enviamos instruções SQL para execução no banco de dados Oracle pois esta prática evita que o Otimizador tenha que realizar um quantidade excessiva de HARD PARSE o que evita o consumo desnecessário de CPU. No entanto quando utilizamos BIND VARIABLE num filtro da cláusula WHERE cuja coluna da tabela possui um

» Read more

Anabolizante para o Otimizador

Extended statistics

O Otimizador do Oracle cria planos de execução com alta performance baseado nas estatísticas dos objetos no banco de dados, com estas informações ele consegue fazer estimativas de acesso para cada uma das operações do plano de execução e a qualidade destas estimativas é que determina o desempenho das instruções SQL. O padrão de coleta de estatísticas é baseado em

» Read more

Nem só de estatísticas vive o Otimizador

Constraints

As estatísticas do banco de dados Oracle são a matéria prima que o Otimizador utiliza para gerar o plano de execução de uma instrução SQL, quanto melhor for a qualidade das estatísticas maior será o desempenho do plano de execução, porem o Otimizador trabalha com outras informações além das estatísticas, ele utiliza alguns parâmetros de inicialização do banco, ele pode

» Read more

Como uma consulta pode ter alto desempenho sem dados estatísticos?

DYNAMIC SAMPLIMG

O Otimizador do Oracle cria planos de execução com alta performance baseado nas estatísticas dos objetos no banco de dados, com estas informações ele consegue fazer estimativas de acesso para cada uma das operações no plano de execução e a qualidade destas estimativas é que determina o desempenho das instruções SQL, mas o que acontece quando algum objeto envolvido na

» Read more

Histogramas: Quando devemos evitá-los?

não use histogramas

O uso de histogramas ajuda o Otimizador a ser mais preciso no cálculo da cardinalidade das operações no plano de execução, mas existem situações em que não devemos utilizá-los, pois eles vão induzir o Otimizador a criar planos de execução de baixa qualidade. Neste artigo vamos mostrar uma destas situações onde o Otimizador realiza um cálculo de cardinalidade muito ruim,

» Read more

4 técnicas para modificar um plano de execução sem alterar a instrução SQL

não alterar codigo

Para melhorar de desempenho das aplicações muitas vezes precisamos fazer alguns ajustes nas instruções SQL e em algumas situações não podemos alterar o código pois a aplicação é de terceiros ou apesar de ser um desenvolvimento interno da empresa os prazos para alteração são muito longos. Já faz algum tempo que modificar um plano de execução sem alterar a instrução

» Read more
1 2 3 6