Utilizar HINT em consulta ajuda ou atrapalha?

hint

Muitas aplicações antigas utilizam HINTs em suas consultas pois o otimizador do Oracle Database nas versões mais antigas possuía muitas limitações e para compensa-las os desenvolvedores ou DBAs utilizavam HINTs para obter um plano de execução com melhor desempenho. Nas versões mais atuais do Oracle Database o Otimizador atingiu um nível de excelência muito significativo e essas consultas mais antigas

» Read more

Exadata: Como obter as métricas do Smart Scan de uma consulta?

exasnapper

Quando uma instrução SQL é executada numa base Oracle utilizando uma plataforma tradicional (Unix-like, Microsoft,…) somos capazes de obter as estatísticas desta execução com detalhes suficientes para determinar onde está o gargalo desta instrução através do pacote DBMS_XPLAN. Na plataforma Exadata muitas funções são executadas no Storage Server durante a execução da instrução SQL e as estatísticas destas funções não

» Read more

SQL Patch: Você já usou esse recurso?

SQL Patch

Quando estamos analisando um plano de execução gerado pelo pacote “DBMS_XPLAN” normalmente não temos as informações estatísticas reais daquela execução pois a disponibilidade dessas informações esta condicionada a definição do parâmetro STATISTICS_LEVEL que na maioria das instalações de produção é definido como TYPICAL para evitar “OVERHEAD” na base. As informações estatísticas reais do plano de execução são muito importantes na

» Read more

Uma ferramenta que facilita a leitura do plano de execução

Execution plan order

Alguns aspectos na leitura do plano de execução não são tão simples e requerem um pouco de prática, um desses aspectos é determinar em que ordem as operações são executadas, já publicamos um artigo que orienta como identificar essa ordem, agora vamos realizar alguns testes com um script (autor: Adrian Billington) que mostra o plano de execução no mesmo formato

» 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