プリコンパイル・オプションの使用によるデータベース・パフォーマンスの向上
パフォーマンスが向上するように SQL プログラムを作成するためのプリコンパイル・オプションがいくつか用意されています。 これらのオプションを使用すると、アプリケーションの働きに影響することがあるので、これらはあくまでもオプションです。そのために、これらのパラメーターのデフォルト値は、以前のリリースからアプリケーションを正しくマイグレーションできるような値になっています。ただし、他のオプションを指定してもパフォーマンスを向上することができます。
以下の表は、これらのプリコンパイル・オプションとそれぞれがパフォーマンスに及ぼす影響を示しています。
これらのオプションの一部は、ほとんどのアプリケーションで使用できます。CRTDUPOBJ コマンドを使用すると、SQL CRTSQLxxx コマンドのコピーを作ることができ、 CHGCMDDFT コマンドを使用すると、プリコンパイル・パラメーターの最適値をカスタマイズすることができます。 DSPPGM、 DSPSRVPGM、 DSPMOD、 または PRTSQLINF の各コマンドを使用すると、 既存のプログラム・オブジェクトで使用されているプリコンパイル・オプションを表示することができます。
プリコンパイル・オプション | 最適値 | 改善点 | 考慮事項 |
---|---|---|---|
ALWCPYDTA | *OPTIMIZE (デフォルト) | 順序付け基準またはグループ化基準が選択基準と矛盾するような照会 | 照会をオープンするときデータのコピーを作ることができる。 |
ALWBLK | *ALLREAD (デフォルト) | 追加の読み取り専用カーソルがブロック化を使用する。 | ROLLBACK HOLD は読み取り専用カーソルの位置を変更できない。位置指定の更新または削除の動的処理は失敗するおそれがある。 |
CLOSQLCSR | *ENDJOB、*ENDSQL、または *ENDACTGRP | カーソル位置をプログラムの呼び出しから呼び出しの間保存できる。 | プログラムの呼び出しが終了したとき SQL カーソルの暗黙のクローズが行われない。 |
DLYPRP | *YES | SQL の PREPARE ステートメントを使用するプログラムは実行速度が速くなる。 | 準備されたステートメント全体の妥当性検査は、 ステートメントが実行またはオープンされるまで据え置かれる。 |
TGTRLS | *CURRENT (デフォルト) | プリコンパイラーは、現行リリースで強化されたパフォーマンスを利用するコードを生成できる。 | プログラム・オブジェクトは旧リリースのシステムで使用できない。 |