Oracle
 sql >> Datenbank >  >> RDS >> Oracle

GATHER_PLAN_STATISTICS generiert keine grundlegenden Planstatistiken

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 .