64 lines
1.8 KiB
MySQL
64 lines
1.8 KiB
MySQL
set lines 150
|
|
set pages 9999
|
|
set feedback off
|
|
set echo off
|
|
|
|
select distinct sid from v$mystat;
|
|
alter system flush buffer_cache;
|
|
|
|
alter session set "_serial_direct_read"='always';
|
|
|
|
--exec dbms_monitor.session_trace_enable(waits => true)
|
|
|
|
DECLARE
|
|
|
|
l_cnt number;
|
|
l_start_value number;
|
|
l_end_value number;
|
|
l_diff number;
|
|
l_start timestamp;
|
|
l_end timestamp;
|
|
l_elapsed number;
|
|
l_throughput number;
|
|
|
|
BEGIN
|
|
|
|
select value
|
|
into l_start_value
|
|
from v$mystat mystat, v$statname statname
|
|
where mystat.statistic# = statname.statistic#
|
|
and statname.name = 'physical read bytes';
|
|
|
|
l_start := systimestamp;
|
|
|
|
select /*+ FULL(A) PARALLEL(A,10) */ count(*) into l_cnt from sysadm.COMLONG A;
|
|
-- select /*+ FULL(A) NOPARALLEL(A) */ count(*) into l_cnt from sysadm.COMLONG A;
|
|
-- select /*+ FULL(A) */ count(*) into l_cnt from c2mv5.hist_act A;
|
|
|
|
l_end := systimestamp;
|
|
|
|
|
|
select value
|
|
into l_end_value
|
|
from v$mystat mystat, v$statname statname
|
|
where mystat.statistic# = statname.statistic#
|
|
and statname.name = 'physical read bytes';
|
|
|
|
l_elapsed := extract(day from (l_end - l_start)) * 24 * 60 * 60
|
|
+ extract(hour from (l_end - l_start)) * 60 * 60
|
|
+ extract(minute from (l_end - l_start)) * 60
|
|
+ extract(second from (l_end - l_start));
|
|
l_diff := (l_end_value - l_start_value);
|
|
l_throughput := (l_diff/l_elapsed)/1024/1024;
|
|
|
|
dbms_output.put_line('physical MB read: ' || to_char(l_diff/1024/1024, '999G999G999D99'));
|
|
dbms_output.put_line('elapsed seconds: ' || to_char(l_elapsed, '9G999G999D99'));
|
|
dbms_output.put_line('measured throughput: ' || to_char(l_throughput, '999G999D99'));
|
|
|
|
END;
|
|
/
|
|
|
|
--exec dbms_monitor.session_trace_disable();
|
|
|
|
|