如何确定在Oracle中消耗更多资源的SQL?

问题:

您要标识消耗Oracle中更多资源的SQL语句。

“ V $SQLSTATS”视图显示最近执行的SQL语句的性能统计信息,也可以使用“ V $SQL”和“ V $SQLAREA”报告SQL资源使用情况。 

“ V $SQLSTATS”速度更快,并且可以长时间保留信息,但是仅包含“ V $SQL”和“ V $SQLAREA”中的列的子集。

示例

select * from(
select
  sql_text
 ,buffer_gets
 ,disk_reads
 ,sorts
 ,cpu_time/1000000 cpu_sec
 ,executions
 ,rows_processed
from v$sqlstats
order by cpu_time DESC)
where rownum < 20;