Qual a importância das estatísticas de tabelas para o Otimizador?

Estatísticas de tabelas

O Otimizador baseado em custo (CBO) utiliza estatísticas para determinar o custo dos diversos planos de execução que ele produz para uma determinada instrução SQL e escolhe o plano com o menor custo para utilizar, portanto as informações estatísticas são cruciais na escolha do plano de execução e devem fornecer informações precisas e atualizadas para que o Otimizador consiga realizar

» Read more

Qual a melhor opção para o parâmetro optimizer_mode?

parameter optimizer_mode

O Otimizador da Oracle foi desenvolvido para executar as instruções SQL de forma rápida, as primeiras versões do Otimizador eram baseadas em regras, porem esse modelo demonstrou ser ineficaz pois o banco de dados e muito volátil e os dados sofrem modificações constantemente. Atualmente o Otimizador baseado em regra não é mais suportado, em seu lugar temos o Otimizador baseado em

» Read more

Plano de execução com custo baixo tem melhor desempenho, Mito ou Fato?

Mito Custo versus Desempenho

Alguns profissionais acreditam que se um plano de execução tem um custo baixo ele será melhor que um plano de execução cujo custo seja maior, essa afirmação é um mito ou fato? Nesse artigo vamos fazer uma simulação de uma instrução SQL que vai ser executada duas vezes com planos de execução diferentes e custos diferentes e vamos comparar os

» Read more

Execution Plan: Como interpretar as seções não estatísticas do plano de execução

Seções não estatisticas

Nas publicações anteriores foram abordados os tópicos: como determinar a sequência de execução do plano, como interpretar a estatísticas estimadas e as estatísticas geradas durante a execução do plano, agora vamos abordar algumas seções complementares que fornecem informações importantes para entender por que o plano de execução foi criado com determinadas operações, por que essas operações utilizam determinados recursos e

» Read more

Execution Plan: Como interpretar os valores estatísticos coletados durante a execução

Estatísticas coletadas durante a execução

No artigo anterior foram abordadas as estatísticas estimadas pelo Otimizador  para o plano de execução, agora vamos tratar das estatísticas geradas após a execução do plano, é nesse momento que temos condições de avaliar se o Otimizador acertou em suas estimativas. A eficácia do plano de execução esta diretamente relacionada com a precisão da estimativa dessas estatísticas, ou seja, quanto melhor

» 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

Execution Plan: Como verificar a ordem que as operações são realizadas

Quando iniciamos um trabalho de Tuning de uma instrução SQL, precisamos ler o plano de execução Oracle dessa instrução e entender o que cada uma das operações esta realizando e a sequência que essas operações estão sendo executadas. O manuais da Oracle abordam essa questão de forma muito simplista e ao utilizarmos essas regras muitas vezes não conseguimos determinar a ordem

» Read more

DBMS_XPLAN: você sabe usar esse extraordinário pacote?

dbms_xplan

O pacote DBMS_XPLAN fornece uma maneira fácil para exibir o plano de execução em vários formatos pré-definidos, essa flexibilidade e o nível de detalhes estatísticos que o pacote oferece o torna uma ferramenta imprescindível num processo de tuning de uma instrução SQL. Você pode usar o pacote para exibir uma estimativa de plano a partir do comando “Explain Plan”, ou

» Read more

Por que utilizar “Explain Plan” ou “AUTOTRACE” no processo de “Tuning” pode ser uma má idéia?

Explain Plan or Autotrace

Os comandos do Oracle “Explain Plan” e “AUTOTRACE” são muito utilizados para gerar o plano de execução que o otimizador vai escolher para uma determinada instrução SQL. Porem nem sempre o plano de execução gerado por estes comandos correspondem ao plano que realmente será executado pelo otimizador do banco de dados, a única maneira de descobrir qual plano de execução será

» Read more
1 2