GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Dicas de Tuning

Olá pessoal, tudo bem?

Aqui vai algumas dicas de Tuning para quem desenvolve e para analista que trabalham com essas operações…

  1. Verificar as estatísticas das tabelas e dos índices.
  2. Verificar também possíveis fragmentações nas tabelas.
  3. Se uma determinada tabela sofre muito DML, talvez seja interessante fazer um Rebuild dos índices, pois isso acaba com a árvore do índice e se for bitmap, com o mapa binário.
  4. Colocar as tabelas usadas na query na ordem da maior para a menor na cláusula From e na mesma ordem a cláusula Where.
  5. Verificar a quantidade de registro que é recuperado na query, pois se for em Tela, ou seja, em uma consulta, caso retorne muitos registros, será que é necessário retornar tal quantidade de registro? Podemos usar algum filtro para recuperar registros mais novos de acordo com a regra de negócio, lembrando que é interessante haver índice para não fazer FULL na tabela.
  6. Verificar colunas que são usadas em muitos processos como filtro na cláusula where para criação de índice para as mesmas.
  7. Nos filtros de datas, usar trunc e between ou utilizar maior ou igual e menor que + 1 para teste de índices de acordo com a query. Em alguns casos é alterado o plano de execução e passa a utilizar índices.
  8. Observar sempre ao criar uma query, o relacionamento das tabelas, seguindo sempre pela foreing keys e não pular tabelas nestas relações, pois o Oracle não utilizará índices das Fks.
  9. Observar também a ordem das colunas e posições indexadas que foram criadas quando for utilizar tais colunas na cláusula where.
  10. Sempre manter um bom padrão na escrita SQL, principalmente para funções analíticas e agregadoras. SUM, MIN, MAX, AVG e etc…
  11. Sempre tente pegar pequenas porções de dados (Usar Tabelas e índices particionadas), pois quanto maior a quantidade, maior o tempo. Começe a pensar em SQL MODEL (Isso ajuda em performance) principalmente para report em EXCEL ou SUMARIZADO; Tente sempre criar índices que não satisfaça apenas 1 consulta, e sim 4 ou 5 sqls.
  12. Em último caso se o plano de execução não há como diminuir o custom da query, poderá ser utilizado o hint PARALLEL(table), assim o processo é executado paralelamente.
  13. E por último tente minimizar o uso de funções, use a NORMALIZAÇÃO AO SEU FAVOR.

Abraços

Share

You may also like...

Deixe um comentário

O seu endereço de e-mail não será publicado.