Aprenda PLSQL SQL TUNING

782 palavras 4 páginas
SQL TUNING
10 Passos Básicos que todo programador deveria saber!

• Aprenda a analisar uma consulta na ferramenta PL/SQL
Developer;
• Quais Parâmetros devem ser analisados em cada caso;
• 10 Truques para você melhorar as suas consultas;
• 2 Dicas Extras de PL/SQL Tuning.

OBJETIVOS

Ferramenta PL/SQL
Developer

1. Abra o PL/SQL Developer;
2. Log com o seu usuário no seu SCHEMA;
3. Crie a sua consulta ou selecione a consulta que você deseja analisar;
4. Aperte o botão F5 para a janela do Explain Plain Abrir.

Passo - a – Passo da
Ferramenta

• Parâmetros principais:
• Custo: Quanto de memória total esta consulta está cadastando; • Cardinalidade: Nível de relacionamentos e processamento gasto para retornar a consulta;
• Custo de CPU: Custo de processamento da CPU.

Como Analisar uma
Consulta?

• Você definindo as colunas o Oracle economiza, mesmo que pouco, processamento, uma vez que ele não precisa descobrir quais colunas retornar antes de retorna-las;
• Além disso caso você faça uma ALTER TABLE e inclua uma coluna nova você não irá deixar inválidos objetos que usam esta tabela.

Passo 01 – Sempre Defina as Colunas que retornarão

• Muitas vezes precisamos fazer subqueries para retornar o resultado mais preciso na nossa consulta, nesses casos analise bem e pense bastante e faça isso com tabelas o mais otimizadas o possível.

Passo 02 – Economize nas
Subqueries

• Geralmente o IN tem uma performance bem abaixo do
EXISTS. Isso porque quando usamos o IN ele tem que comparar todos os resultados de retorno da consulta consulta com as possibilidades dentro do conjunto. Já o
EXISTS simplesmente retorna o que existe na subconsulta economizando no processamento.

Passo 03 – Sempre use o
EXISTS em vez de IN

• O EXISTS é o nosso grande trunfo no TUNING. Usar ele em consultas mostra que o nosso relacionamento foi bem feito e que vamos economizar muito Custo de CPU e Custo final na nossa consulta.

Passo 04 – Use o EXISTS ao invés do DISTINCT

• Quando estamos fazendo

Relacionados