Como o Hybrid Histogram contribui para deixar o Otimizador mais inteligente?

Hybrid Histograms

O Otimizador do Oracle cria planos de execução baseado nas estatísticas dos objetos no banco de dados, a qualidade destas informações é decisiva na precisão das estimativas de acesso das operações no plano de execução e consequentemente determinam o desempenho das instruções SQL. Os Histogramas são parte destas estatísticas e até a versão 11g existiam somente 2 tipos (FREQUENCY e

» 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

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

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

Execution Plan: Como interpretar os valores estatísticos estimados

Optimizer, CBO, statistics

No artigo anterior sobre plano de execução abordamos como identificar a sequência de execução das operações, outra parte muito importante no entendimento do plano de execução são as informações estatísticas que podem ser classificadas em dois grupos: 1) As estatísticas estimadas pelo otimizador que são usadas no processo de parse para escolher dentre alguns planos criados, um que supostamente seria

» Read more