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.