Predicate Information (identified by operation id): ---------------------------------------------------
?? 5 - filter("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND? (SELECT 1 FROM ?????? "SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR ?????? "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1) ?? 6 - access("O"."OWNER#"="U"."USER#") ?? 8 - filter(BITAND("O"."FLAGS",128)=0 AND "O"."NAME"<>'_NEXT_OBJECT' AND ?????? "O"."NAME"<>'_default_auditing_options_' AND "O"."LINKNAME" IS NULL) ?? 9 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR ?????? "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9) ? 10 - access("I"."OBJ#"=:B1) ? 14 - access("L"."OWNER#"="U"."USER#") ? 18 - filter("O"."TYPE#"<>1 AND "O"."TYPE#"<>10 OR "O"."TYPE#"=1 AND? (SELECT 1 FROM ?????? "SYS"."IND$" "I" WHERE "I"."OBJ#"=:B1 AND ("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR ?????? "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9))=1) ? 19 - access("O"."OWNER#"="U"."USER#") ? 21 - filter(BITAND("O"."FLAGS",128)=0 AND "O"."NAME"<>'_NEXT_OBJECT' AND ?????? "O"."NAME"<>'_default_auditing_options_' AND "O"."LINKNAME" IS NULL) ? 22 - filter("I"."TYPE#"=1 OR "I"."TYPE#"=2 OR "I"."TYPE#"=3 OR "I"."TYPE#"=4 OR ?????? "I"."TYPE#"=6 OR "I"."TYPE#"=7 OR "I"."TYPE#"=9) ? 23 - access("I"."OBJ#"=:B1) ? 27 - access("L"."OWNER#"="U"."USER#")
Statistics ---------------------------------------------------------- ? 15? recursive calls ?? 0? db block gets ????? 10208? consistent gets ?? 0? physical reads ?? 0? redo size ?519? bytes sent via SQL*Net to client ?492? bytes received via SQL*Net from client ?? 2? SQL*Net roundtrips to/from client ?? 1? sorts (memory) ?? 0? sorts (disk) ?? 1? rows processed <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<返回1条结果集
因此,EXPLAIN PLAN时常不能反应真实的执行计划,尤其是在绑定变量的应用中。PLSQL/DEVELOPER的F5能快速查看执行计划,其实就是EXPLAIN PLAN的方法。
如果想知道SQL语句的真实执行计划,可能通过以下几种方法:
o SET AUOTRACE
o 10046
o DBMS_XPLAN.DISPLAY_COURSOR 或 DBMS_XPLAN.DISPLAY_AWR
o 查询V$SQL_PLAN