Páginas

terça-feira, 29 de outubro de 2013

[ORACLE] - Identificando SQL problemático

A view V$SQL mostra as instruções SQL que estão no pool compartilhado juntamente com estatísticas sobre sua operação. Isso a torna essencial para examinar as instruções SQL. Este post será bem curto e objetivo, mostrando 3 exemplos de consultas utilizando essa view de forma bem prática e útil.

Top 10 – SQL mais executados:
 
SELECT sql_text, executions
  FROM (SELECT sql_text, executions,
        RANK() OVER (ORDER BY executions DESC) exec_rank
        FROM v$sql)
 WHERE exec_rank <= 10;

Top 10 – SQL que mais exigiram leituras físicas:
 
SELECT sql_text, disk_reads
  FROM (SELECT sql_text, disk_reads,
        DENSE_RANK() OVER
          (ORDER BY disk_reads DESC) DiSk_READS_RANK
       FROM v$sql)
 WHERE disk_reads_rank <= 10;

Top 10 – SQL que mais exigiram leituras lógicas:
 
SELECT sql_text, buffer_gets
  FROM (SELECT sql_text, buffer_gets,
              DENSE_RANK() OVER
              (ORDER BY buffer_gets DESC) buffer_gets_rank
        FROM v$sql)
 WHERE buffer_gets_rank <= 10;

Fique a vontade para alterar as consultas acima – você pode alterar o “top 10″ para top 5, top 20, ou o número que quiser – basta alterar o valor da cláusula WHERE de cada consulta.

Fonte:
http://certificacaobd.com.br/2011/07/22/vsql-identificando-sql-problematico/

Nenhum comentário:

Postar um comentário