Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Clique aqui para ler todos os artigos desta edição

Entendendo plan table e planos de consulta

 

O ajuste fino de comandos SQL não é nem um “bicho de sete cabeças” e nem mágica. Todos os SGBDs relacionais geram um plano de execução para um comando submetido. Este plano informa ao SGBD qual a estratégia de acesso aos dados ou como realizar as tarefas atreladas aos dados. Quanto melhor a compreensão de como interpretar estes planos, mais fácil será a resolução de possíveis problemas de desempenho com comandos SQL.

A plan table

O Oracle “popula” uma plan table sempre que solicitado. Esta plan table contém o plano de execução para um comando SQL particular. Se um determinado esquema não possui uma plan table, pode-se rodar o script utlxplan.sql utilizando o Oracle userid, ou solicitar ao administrador do BD para executá-lo. Eu sempre uso a plan table que foi instalada com a instância do Oracle. Existem vários modos de popular uma plan table, entretanto, nos concentraremos em dois deles.

Utilizando o SQL*Plus, insira o comando “set autotrace on explain statistics” (ver Figura 1). Isto populará a plan table e fornecerá um plano de consulta gerado automaticamente com suas estatísticas de runtime.

  ...

Quer ler esse conteúdo completo? Tenha acesso completo