catch-img

OPTIMIZER PUSH PRED COST BASED - 日本エクセム株式会社 Oracleパラメータ


目次[非表示]

  1. 1.基本情報
    1. 1.1.Parameter情報
    2. 1.2.説明
  2. 2.注意
    1. 2.1.実行計画以上のCost Based Push Predicate
  3. 3.関連情報

基本情報

Parameter情報

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パラメータ


CONTACT

他社に頼らず自社でデータベースを監視・運用をしませんか?
MaxGaugeがサポートします

お役立ち資料は
こちらから

不明点がある方は、
こちらからお問い合わせください

お電話でのお問い合わせはこちら

平日 10時~18時

人気記事ランキング

タグ一覧