如题,试了set autotrace on; 以及
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('&sqlid'));都无法显示A_ROW和E_ROWS列,如何才能显示出来?
SQL> select /*+ gaher_plan_statistics */ * from tab1;
C1 C2
---------- ---------
1 31-JAN-07
SQL> select sql_id,sql_text from v$sql where sql_text like '%gather_plan%';
SQL_ID
-------------
SQL_TEXT
--------------------------------------------------------------------------------
5185r885tum6p
select sql_id,sql_text from v$sql where sql_text like '%gather_plan%'
1* select * from table(dbms_xplan.display_cursor('5185r885tum6p',null,'ALLSTATS LAST'))
SQL> /
PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID 5185r885tum6p, child number 0
-------------------------------------
select sql_id,sql_text from v$sql where sql_text like '%gather_plan%'
Plan hash value: 903671040
--------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time |
--------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.12 |
|* 1 | FIXED TABLE FULL| X$KGLCURSOR_CHILD | 1 | 1 | 1 |00:00:00.12 |
--------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(("KGLNAOBJ" IS NOT NULL AND "KGLNAOBJ" LIKE '%gather_plan%' AND
"INST_ID"=USERENV('INSTANCE')))
19 rows selected.
评论
有用 0
alter session set statistics_level=all; --或者SQL中添加HINT /*+ gather_plan_statistics */
SELECT /*+ gather_plan_statistics full(test) */ count(*) from test where owner='SYS';
select count(*) from dept;
SELECT * FROM TABLE(DBMS_XPLAN.display_cursor(null,null,'allstats last'));
评论
有用 0
墨值悬赏

