在PLSQL Developer里使用dbms_xplan.display_cursor查看SQL实际执行计划
sqlplus中可以使用hint gather_plan_statistcis后,结合dbms_xplan.display_cursor查看实际执行计划。
但是plsql developer的编辑器中无法使用,可参考以下方法,替换游标test中的内容为实际sql,实现同样效果,在“输出”中查看结果
- 如果提示无权限需要授权
grant select on v_$sql_plan to sysadm;
grant select on v_$session to sysadm;
grant select on v_$sql_plan_statistics_all to sysadm;
grant select on v_$sql to sysadm;
begin
execute immediate 'alter session set statistics_level = ALL';
for test in (
select * from tableA,tableB where tableA.id=tableB.id
)
loop
null;
end loop;
for x in (
select p.plan_table_output
from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST ADVANCED PEEKED_BINDS')) p
)
loop
dbms_output.put_line(x.plan_table_output);
end loop;
rollback;
end;