Om allt du sprang var de två påståendena i din fråga:
select /*+ gather_plan_statistics */ * from emp; select * from table(dbms_xplan.display(FORMAT=>'ALLSTATS LAST'));
Då tror jag att ditt problem är din användning av DBMS_XPLAN.DISPLAY
. Som du använder det, skriver du ut planen för det senaste uttalandet du förklarade, inte det sista uttalandet du körde. Och "explain" kommer inte att köra frågan, så det kommer inte att dra nytta av en gather_plan_statistics
ledtråd.
Det här fungerar för mig i 12c:
select /*+ gather_plan_statistics */ count(*) from dba_objects;
SELECT *
FROM TABLE (DBMS_XPLAN.display_cursor (null, null, 'ALLSTATS LAST'));
dvs. display_cursor
istället för bara display
.