Oracle
 sql >> Baza danych >  >> RDS >> Oracle

GATHER_PLAN_STATISTICS nie generuje podstawowych statystyk planu

Jeśli wszystko, co uruchomiłeś, to dwa stwierdzenia w swoim pytaniu:

select /*+ gather_plan_statistics */ * from emp;

select * from table(dbms_xplan.display(FORMAT=>'ALLSTATS LAST'));

Myślę, że twoim problemem jest używanie DBMS_XPLAN.DISPLAY . Sposób, w jaki go używasz, drukuje plan ostatniej wyjaśnionej instrukcji, a nie ostatniej wykonanej instrukcji. A „wyjaśnienie” nie wykona zapytania, więc nie skorzysta na gather_plan_statistics wskazówka.

To działa dla mnie w 12c:

select /*+ gather_plan_statistics */ count(*) from dba_objects;

SELECT *
FROM   TABLE (DBMS_XPLAN.display_cursor (null, null, 'ALLSTATS LAST'));

tj. display_cursor zamiast po prostu display .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sposoby na uniknięcie globalnych tabel tymczasowych w Oracle

  2. PRZYPADEK vs. DEKODOWANIE

  3. Jak zamawiać według daty w PostgreSQL lub Oracle

  4. ORA-01618

  5. Magazynowanie danych Profilowanie danych ETL za pomocą Oracle Warehouse Builder