catch-img

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


 SQLチューニングのためには、そのSQLがどのように動いていて、データベースにどのように影響しているのか、を把握する必要があります。『MaxGauge』があれば簡単に状況が把握でき、適切なSQLチューニングができるようになります。

『MaxGauge』の資料はこちらから。


基本情報

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


 SQLチューニングのためには、そのSQLがどのように動いていて、データベースにどのように影響しているのか、を把握する必要があります。『MaxGauge』があれば簡単に状況が把握でき、適切なSQLチューニングができるようになります。

『MaxGauge』の資料はこちらから。


CONTACT

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

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

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

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

平日 10時~18時

人気記事ランキング

タグ一覧