Oracle如何查看sql的真实执行计划

2014-11-24 17:36:53 · 作者: · 浏览: 0

知识普及:


2 v$sqlarea中放置的父游标,放置sql的sql_id和address


3 v$sql中对应v$sqlarea中的sql的子游标,address和child_number代表唯一的子游标


查询sql在数据库中实际的sql执行计划方法:


1 set autotrace on


如果语句返回的行很多,那么结果会非常庞大,在sqlplus里边是一个困难的选择。


set autotrace traceonly --并不能每次显示正确的执行计划,造成对sql优化的误导。


2 查询v$sql_plan是真实执行路径,但阅读比较困难。


3 使用如下语句可以查询sql的真实执行路径,并且格式化执行路径输出


set linesize 400


set pagesize 60


SELECT * FROM TABLE (SELECT DBMS_XPLAN.DISPLAY_CURSOR('a8tumy29tf0za','0') from dual);


--第一个为sql_id


--第二个为child_number