Atenção: esse artigo tem um vídeo complementar. Clique e assista! Artigo no estilo: Curso
De que se trata o artigo?

Este artigo trata dos conceitos envolvidos na análise de um plano de execução proveniente do comando explain plan em banco de dados relacionais.


Para que serve?

Esclarecer e desmistificar os mecanismos intrínsecos das etapas de elaboração do plano de execução.

Em que situação o tema é útil?

Através da correta interpretação do plano é possível refinar e redirecionar a execução, por conseguinte atingir um melhor desempenho.

No contexto de um SGBDR (Sistema Gerenciador de Banco de Dados Relacional), o plano de execução (execution plan), também conhecido por plano de acesso (access plan) ou caminho de acesso (access path), apresenta o planejamento a cobrir e atender às requisições de manipulação de dados oriundas de instruções SQL (Structured Query Language). A estratégia desse planejamento é determinada por um mecanismo interno e complexo de aferição conhecido por otimizador de consultas (query optimizer).

O plano de execução costuma, por vezes, intimidar e incorporar incertezas ao escopo da análise de desempenho, entretanto, com certo discernimento, evidencia as escolhas consumadas as quais em muitos casos podem e devem ser refinadas a fim de atingir um melhor tempo de resposta.

O artigo abordará o que você sempre quis saber e jamais alguém soube lhe explicar. Muitos dos termos utilizados ao longo do texto serão mantidos em inglês técnico para a manutenção do seu teor e conteúdo original. Através de uma linguagem acessível serão apresentados conceitos básicos para a leitura e compreensão de planos de execução, que invariavelmente exige familiaridade com os seguintes tópicos:

· Interpretação de predicados.

o Seletividade versus Densidade.

o Cardinalidade.

o Custo.

o Estatísticas.

o Histogramas.

· Índices:

o Índices B-Tree.

o Índices Bitmap.

· Teoria de divisão e conquista

o Partição de tabelas.

o Paralelismo.

· Interação entre os recursos de hardware.

o Buffer Cache.

o Espaço temporário em memória e discos.

· Transações.

o Propriedades ACID.

o Locks

o Níveis de Isolamento.

· Estratégias de acesso em tabelas e índices.

o Table Access Full (Full Table Scan).

o Index Range Scan.

o Index Full Scan.

o Index Fast Full Scan.

o Index Single Value.

· Estratégias de join entre tabelas.

o Nested Loops.

o Sort Merge Join.

o Hash Join.

Ao final de um breve ensaio decorrente dos conceitos mencionados serão demonstradas aplicações práticas em Oracle.

Nesta primeira parte desta série de artigos, abordaremos somente a interpretação de predicados, índices B-Tree, Bitmap e teoria de divisão e conquista.

...

Quer ler esse conteúdo completo? Tenha acesso completo