在Oracle数据库里面,查看执行计划有如下方法:
1.explain plan命令
2.DBMS_PLAN包
3.SQLPLUS中的autotrace开关
4.10046事件
5.10053事件
6.AWR报告或者Statspack报告
7.一些现成的脚本
explain plan
explain plan for + 目标SQL
select * from table(dbms_xplan.display)
dbms_xplan
四种不同的应用场景
1.select * from table(dbms_xplan.display)
2.select * from table(dbms_xplan.display_cursor(null,null,'advanced'))
3.select * from table(dbms_xplan.display_cursor('sql_id/hash_value',child_cursor_number,'advanced'))
4.select * from table(dbms_xplan.display_awr('sql_id'))
autotrace开关
在SQLPLUS设置autotrace开关的语法:
SET AUTOTRACE {ON|OFF|TRACEONLY}
[EXPLAIN]
[STATISTICS]
10046事件与tkprof命令
激活10046事件有两种方法:
alter session set events '10046 trace name context forever,level 12'
oradebug event 10046 trace name context forever,level 12 |