sql >> Databasteknik >  >> RDS >> Oracle

GATHER_PLAN_STATISTICS genererar inte grundläggande planstatistik

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 .



  1. Vad är syftet med datareplikering?

  2. Hur man aktiverar komprimering på en befintlig tabell i SQL Server (T-SQL)

  3. Automatisk ökning på partiell primärnyckel med Entity Framework Core

  4. Ogiltigt standardvärde för "dateAdded"