step1:set statistics_level
alter session set statistics_level=ALL;
step2:执行业务sql
select /*+ monitor */ * from ... where ....;
step3:为了样式,设置linesize
set linesize 200 pagesize 300;
step4:查询真实执行计划
select * from table(dbms_xplan.display_cursor(null, null, 'iostats last'));
sqlplus一般要数据库管理员才可以使用,如果你不是dba,只能使用plsql developer的话,只能用下面的方法,方法是从培训中学到的
使用存储过程,SQL:
declare
b1 date;
begin
execute immediate 'alter session set statistics_level=ALL';
b1 := sysdate - 1;
for test in (
/*业务SQL(sql后面不需要加";")*/
select * from t) loop
null;
end loop;
for x in (select p.plan_table_output
from table(dbms_xplan.display_cursor(null,
null,
'advanced -bytes -PROJECTION allstats last')) p) loop
dbms_output.put_line(x.plan_table_output);
end loop;
rollback;
end;
/