Quer mais performance? Faça upgrade para o 19c

Evolução do Otimizador

O Otimizador do Oracle vem sendo aprimorado a cada nova versão, a partir da 12c foram introduzidas muitas melhorias que tornaram o Otimizador muito mais eficente na escolha dos planos de execução, nas versões anteriores o Otimizador tinha algumas limitações que o impedia de escolher planos de execução melhores. Na versão 19c o Otimizador não alcançou a perfeição, mas houve

» Read more

Datatype numérico e carácter, será que existem outros?

Tipo de dado

Algumas pessoas vão ler o título deste artigo e pensar que ele foi feito para leigos em tecnologia da informação, mas quem trabalha com banco de dados sabe que muitas aplicações que existem no mercado utilizam somente os Datatypes numérico e carácter, esta prática afeta negativamente o desempenho da aplicação pois o Otimizador não tem como deduzir, por exemplo, que

» Read more

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 7