重庆思庄Oracle、Redhat认证学习论坛

标题: 查看真实执行计划 [打印本页]

作者: mahan    时间: 2023-9-10 13:13
标题: 查看真实执行计划
sqlplus窗口执行:

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;
/






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2