L
o
a
d
i
n
g
.
.
.

ホーム

お知らせ

製品・ソリューション

サービス

導入事例・パートナー

EXEM Academy・ブログ

会社情報

採用情報

2018.11.14

OPTIMIZER PUSH PRED COST BASED

目次

  • 1. 基本情報
  • 2. 注意
  • 3. 関連情報


  • 基本情報


    パラメータ情報

    Syntax   : FALSE
    設定方法  : ・Parameter File
          ・ALTER SYSTEM SET “_OPTIMIZER_PUSH_PRED_COST_BASED” = TRUE
          ・ALTER SESSION SET “_OPTIMIZER_PUSH_PRED_COST_BASED” = TRUE
    

    バージョンとデフォルト
    9iR2 : -
    10gR1: true
    10gR2: true
    11gr1: true
    


    説明

    Push PredicateをCost basedで行うかどうかを指定します。Cost Based Push Predicateは10gで導入された概念で、既定値は常にTrueです。Oracle9iまではOracleは、可能な常にPush Predicateを試みます。しかし、10gからコスト(Cost)を考慮して、Push Predicateの発生が負荷を減らすのに役立つ場合にのみPush Predicateを実行する。


    注意


    実行計画以上のCost Based Push Predicate

    9iのバージョンで正常にPush Predicateが行われるクエリが10gでPush Predicateが発生しないことがある。統計情報が正確であれば、Oracleのほとんどの場合、最適の判断をするが、時折、特定のクエリの場合には、Push Predicateが行われないことにより、非効率的な実行計画に変わることがある。このような場合には、_OPTIMIZER_PUSH_PRED_COST_BASEDパラメータの値をFALSEに変更したり、OPT_PARAMヒントを利用して、そのパラメータをStatementレベルで変更する必要がある。

    alter session set_optimizer_push_pred_cost_based= false;
    - あるいは
    select/*+ opt_param('_ optimizer_push_pred_cost_based'、 'false')*/...
    


    関連情報

    1.NO_PUSH_PREDヒント
    2.PUSH_PREDヒント
    3.NO_PUSH_PREDヒント
    4._OPTIMIZER_COST_BASED_TRANSFORMATIONパラメータ
    

PHP Code Snippets Powered By : XYZScripts.com