Pular para o conteúdo

Dica para tuning de queries para iniciantes

Dica para tuning de queries para iniciantes

Muitas vezes nos chegam com uma query dizendo “tá lento, o que dá pra fazer?” e jogam a query. E agora, o que fazer? Bom, será preciso realizar o tunning dela, mas por onde começar?

Aqui dou algumas dicas:

Primeiro é preciso ver o plano de execução da query usando o comando “explain plan” no SQL Plus ou visualizar o plano de execução pelo Oracle SQL Developer.

Através do SQL*Plus pode-se chegar ao plano de execução da seguinte forma:

SQL> explain plan for <query>;

SQL> SELECT * FROM table(dbms_xplan.diplay);

Já pelo Oracle SQL Developer pode-se visualizar o plano de execução selecionando a query e pressionando o botão F10.

Para analisar a query vão algumas dicas:

1) Ler o plano de execução e determinar os pontos do plano que possuem maiores custos. Estes pontos devem ser analisados na query;

2) Verificar os sorts existentes como group by e order by eles podem necessitar de uma grande área temporária;

3) Hints. As hints nem sempre ajudam na execução das queries. Muitas vezes elas podem atrapalhar. O ideal é que o otimizador possa sozinho determinar o melhor plano de execução;

4) Colunas desnecessárias na cláusula SELECT. Algo como “SELECT *” por exemplo deve ser evitado e sim selecionar apenas as colunas que são necessárias para a query;

5) Sub-queries sem cláusula WHERE. Este é um caso muito comum, realizar sub-queries sem restrição. Deve-se evitar o uso deste tipo de query colocando restrições usando cláusula WHERE;

6) Queries que realizam operações com views. Muitas vezes o problema não está na query mas sim na query da view o que pode mascarar o problema.

Nos próximos posts vou acrescentando mais informações.

Abraços

Leonardo Faria Ferreira

Leonardo Faria Ferreira

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress