sql >> データベース >  >> RDS >> Oracle

GATHER_PLAN_STATISTICSは、基本的な計画統計を生成しません

    実行したのが質問の2つのステートメントだけだった場合:

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

    次に、問題はDBMS_XPLAN.DISPLAYの使用にあると思います 。あなたがそれを使用している方法では、あなたが実行した最後のステートメントではなく、あなたが説明した最後のステートメントの計画を印刷しています。また、「explain」はクエリを実行しないため、gather_plan_statisticsのメリットはありません。 ヒント。

    これは12cで機能します:

    select /*+ gather_plan_statistics */ count(*) from dba_objects;
    
    SELECT *
    FROM   TABLE (DBMS_XPLAN.display_cursor (null, null, 'ALLSTATS LAST'));
    

    つまり、display_cursor displayだけでなく 。



    1. sqlplusスクリプトのコンパイルエラーで停止します

    2. Mysql select recursiveは、複数のレベルを持つすべての子を取得します

    3. postgresql関数またはトリガーからhttpリクエストを送信するにはどうすればよいですか?

    4. SQL Server 2016:ストアドプロシージャを作成する