У меня есть запрос, который использует несколько запросов Sub-Select. Я думаю, что это можно оптимизировать.
select
ses.sid,
ses.username,
ses.status,
ses.machine
ses.last_call_et as "ELAPSED_TIME",
sessio.physical_reads,
( sessio.consistent_gets + sessio.block_gets ) as "logical reads",
( select sum(sesstat.value) from V$SESSTAT sesstat join v$statname statname on statname.statistic# = sesstat.statistic# where SID = ses.sid and statname.name = 'user commits' ) as "user commits",
( select sum(sesstat.value/100) from V$SESSTAT sesstat join v$statname statname on statname.statistic# = sesstat.statistic# where SID = ses.sid and statname.name like '%CPU used by this session%' ) as "CPU_USAGE",
( select Round( 100* ( consistent_gets + block_gets - physical_reads ) / ( consistent_gets + block_gets ),2 ) from V$SESS_IO where (consistent_gets + block_gets) > 0 and sid = ses.sid ) as "cachehit Ratio %"
from V$SESSION ses
join V$SESS_IO sessio on ses.sid = sessio.sid
order by ses.sid asc;