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

Funções na cláusula WHERE podem confundir o Otimizador?

estatísticas adicionais

No artigo “Por que o Otimizador criou um plano de execução ineficiente?” elencamos algumas condições que levam o Otimizador a gerar um plano de execução ineficiente, neste artigo vamos mostrar com mais detalhes como a utilização de função nas colunas utilizadas na cláusula WHERE podem influenciar de maneira negativa o Otimizador.       Colunas com função na cláusula WHERE

» Read more

Histogramas: Qual importância deles?

histogramas

No artigo “Por que o Otimizador criou um plano de execução ineficiente?” elencamos algumas condições que levam o Otimizador a gerar um plano de execução ineficiente, neste artigo vamos abordar com mais detalhes um desses tópicos, como a repetição de dados não uniformes em uma coluna da tabela podem influenciar de maneira negativa o Otimizador.       Repetição de

» Read more

Estatísticas: a matéria prima do otimizador

No artigo “Por que o Otimizador criou um plano de execução ineficiente?” elencamos algumas condições que levam o Otimizador a gerar um plano de execução ineficiente, neste artigo vamos mostrar com mais detalhes como a ausência de estatísticas ou a falta de sua atualização podem influenciar de maneira negativa o Otimizador.       Ausência de estatísticas Quando o Otimizador

» Read more

Por que o Otimizador criou um plano de execução ineficiente?

Oracle Optimizer CBO

O plano de execução é uma sequência de operações que acessam os dados nas tabelas indicadas na instrução SQL, considerando os filtros especificados na cláusula WHERE, a sequência em que as tabelas são acessadas e o tipo de operação que será utilizado no acesso são determinados pela estimativa de quantidade de linhas que cada operação vai acessar, esta estimativa é chamada

» Read more

Como modificar um plano de execução sem alterar a instrução SQL?

SQL Profile

Quando estamos realizando um trabalho de tuning SQL muitas vezes nos deparamos com situações em que não podemos alterar o código da aplicação pois esta pertence a terceiros. Essa limitação pode ser superada facilmente utilizando o recurso SQL PROFILE do banco Oracle, disponível a partir da versão 10g. Neste artigo vamos fazer uma demonstração de uma situação hipotética onde vamos utilizar

» Read more

Como pode um plano de execução mudar quando não há alterações no banco?

estatísticas

Como pode um plano de execução mudar de repente, quando ninguém fez qualquer alteração no banco de dados? Por nenhuma mudança, queremos dizer que não houve alterações na estrutura das tabelas, não foram adicionados ou alterados índices, nenhuma mudança relativa a “Bind Peeking”, sem mudanças de parâmetros do banco, não houve aplicação novos patches ou upgrades, não houve criação de

» Read more
1 2 3