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

Deixe um comentário

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detectado !

Verificamos que está usando alguma extensão para bloquear os anúncios. O GPO (Grupo de Profissionais Oracle) obtém a sua renda através dos anúncios, para assim manter toda a estrutura dedicada a universalização do conhecimento.

Se você gosta de nosso trabalho, pedimos por gentileza que desabilite o ads blocker. Trabalhamos somente com o Google Adsense e tentamos ao máximo exibir apenas o necessário.

Agradecemos de antemão ! :)

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock