如何查看执行计划

时间:2019-10-23 15:19:25   收藏:0   阅读:84

2.2 如何查看执行计划

其中前四种方法使用得尤为普遍:

2.2.1 explain plan 命令

语法是依次执行如下两条命令:
explain plan for + 目标SQL
select * from table(dbms_xplan.display)

收集统计信息:
exec dbms_stats.gather_table_stats(ownname=>‘SCOTT‘,tabname=>‘EMP‘,estimate_percent=>100,cascade=>true,method_opt=>‘for all columns size 1‘);

2.2.2 DBMS_XPLAN包

共四种方法如下:
--结合explain plan for 使用      
1.select * from table(dbms_xplan.display);  执行计划可能不准确
--用于查看刚刚执行过的SQL执行计划。advanced也可以改为使用all,但是advanced显示结果更详细
2.select * from table(dbms_xplan_cursor(null,null,‘advanced‘));  执行计划准确
--用于查看指定SQL的执行计划
3.select * from table(dbms_xplan_cursor(‘sql_id/hash_value‘,child_cursor_number,‘advanced‘));   执行计划准确
--awr报告
4.select * from table(dbms_xplan.display_awr(‘sql_id‘));  执行计划准确


2.2.3 AUTOTRACE开关    

所有使用AUTOTRACE的执行计划都可能不准确
在SQLPLUS中设置AUTOTRACE开关的语法如下所示:
SET AUTOTRACE {OFF|ON|TRACEONLY} [EXPLAIN] [STATISTICS]

 

原文:https://www.cnblogs.com/studyking/p/11613606.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!