Wenn Sie nur die beiden Aussagen in Ihrer Frage ausgeführt hätten:
select /*+ gather_plan_statistics */ * from emp; select * from table(dbms_xplan.display(FORMAT=>'ALLSTATS LAST'));
Dann denke ich, dass Ihr Problem Ihre Verwendung von DBMS_XPLAN.DISPLAY
ist . So wie Sie es verwenden, drucken Sie den Plan der letzten Anweisung, die Sie erklärt haben, nicht die letzte Anweisung, die Sie ausgeführt haben. Und "explain" wird die Abfrage nicht ausführen, also wird es nicht von einem gather_plan_statistics
profitieren Hinweis.
Das funktioniert bei mir in 12c:
select /*+ gather_plan_statistics */ count(*) from dba_objects;
SELECT *
FROM TABLE (DBMS_XPLAN.display_cursor (null, null, 'ALLSTATS LAST'));
d.h. display_cursor
statt nur display
.