Se tutto ciò che hai eseguito fossero le due affermazioni nella tua domanda:
select /*+ gather_plan_statistics */ * from emp; select * from table(dbms_xplan.display(FORMAT=>'ALLSTATS LAST'));
Quindi penso che il tuo problema sia l'uso di DBMS_XPLAN.DISPLAY
. Il modo in cui lo stai usando, stai stampando il piano dell'ultima affermazione che hai spiegato, non l'ultima affermazione che hai eseguito. E "explain" non eseguirà la query, quindi non trarrà vantaggio da un gather_plan_statistics
suggerimento.
Questo funziona per me in 12c:
select /*+ gather_plan_statistics */ count(*) from dba_objects;
SELECT *
FROM TABLE (DBMS_XPLAN.display_cursor (null, null, 'ALLSTATS LAST'));
cioè, display_cursor
invece di solo display
.