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

Índice desordenado! Isto é possível?

indice desordenado

Quando executamos uma consulta no banco de dados Oracle e no seu plano de execução aparece a operação INDEX RANGE SCAN, os dados recuperados da tabela deveriam estar ordernados pela chave do índice, mas esta afirmação encontrada inclusive no manual da Oracle nem sempre é verdadeira. Esta premissa é muito importante pois a utilização da claúsula ORDER BY na consulta

» Read more

Por que 100 linhas a mais numa tabela podem prejudicar o desempenho de uma consulta?

index split

Você acredita que uma consulta numa tabela com mais de 300 mil linhas possa ter seu plano de execução alterado pelo Otimizador quando inserimos mais 100 linhas na tabela? Neste artigo vamos ver uma simulação onde isto ocorre, explicar por que ocorre e quais são as alternativas para evitar este tipo de situação. Nossa simulação utilizará uma consulta muito simples

» Read more
1 2 3 4 7