2.281 PLSQL_OPTIMIZE_LEVEL

PLSQL_OPTIMIZE_LEVELには、PL/SQLライブラリ・ユニットのコンパイルで使用される最適化レベルを指定します。このパラメータの設定が高いほど、コンパイラがPL/SQLライブラリ・ユニットを最適化する傾向が強くなります。

特性 説明

パラメータ・タイプ

整数

デフォルト値

2

変更可能

ALTER SESSIONALTER SYSTEM

PDBで変更可能

はい

値の範囲

0から3

基本

いいえ

値:

  • 0

    Oracle9iおよびそれ以前のリリースの評価順序を保持し、それらの副次作用、例外およびパッケージ初期化のパターンも保持します。また、BINARY_INTEGERおよびPLS_INTEGERの新しいセマンティクスIDを削除し、整数表現を評価するためのルールを以前のルールに戻します。コードの実行は、Oracle9iと比較して多少高速化されますが、レベル0を使用すると、Oracle Database 10gで得られるPL/SQLのパフォーマンス・メリットの大半が失われます。

  • 1

    PL/SQLプログラムに幅広い最適化(不要な計算や例外の削除など)を適用しますが、元のソース順序からのソース・コードの移動は、通常実行しません。

  • 2

    レベル1より幅広い最新の最適化手法を適用します。これには、ソース・コードを元の位置から比較的遠くまで移動する変更も含まれる場合があります。

  • 3

    レベル2より幅広い最適化手法を適用すると、特に要求していない手法が自動的に含まれます。

通常、このパラメータを2に設定すると、パフォーマンスが向上します。ただし、コンパイラが特定のソース・モジュールに対して低速で実行されている場合、または最適化がなんらかの理由で不要な場合(急いで手直しを行っている場合など)は、このパラメータを1に設定することで、コンパイル時のリソース使用量を抑えながら、ほぼ同様のコンパイル・パフォーマンスを得ることができます。

このパラメータの値は、ライブラリ・ユニットを使用して永続的に格納されます。

関連項目: