stmtheap - ステートメント・ヒープ・サイズ構成パラメーター

このパラメーターで、ステートメント・ヒープの限度を指定します。これは SQL または XQuery ステートメントのコンパイル時に SQL または XQuery コンパイラー用のワークスペースとして使用されます。

構成タイプ
データベース
パラメーター・タイプ
オンラインで構成可能
Db2® pureScale® 環境のメンバーにより構成可能
伝搬クラス
ステートメント境界
デフォルト [範囲]
32 ビット・プラットフォームの場合
自動 [128 - 524288]
  • ローカルおよびリモート・クライアントを指定したデータベース・サーバー: デフォルト値は AUTOMATIC、基礎となる値は 2048 です。
  • このパラメーターを、AUTOMATIC 属性には設定せず、1 つの固定値のみに設定することもできます。
64 ビット・プラットフォームの場合
自動 [128 - 2 147 483 647]
  • ローカルおよびリモート・クライアントを指定したデータベース・サーバー: デフォルト値は AUTOMATIC、基礎となる値は 8192 です。
  • このパラメーターを、AUTOMATIC 属性を指定せずに 1 つの固定値のみに設定することができます。
注: デフォルト値は、初期データベース作成後に Db2 構成アドバイザーによって変更される場合があります。
単位
ページ (4 KB)
割り振られるタイミング
プリコンパイル時またはバインド時にステートメントごとに必要とされたとき
解放されるタイミング
ステートメントのプリコンパイルまたはバインドが完了した時点

ステートメント・ヒープは永続的に割り振られたままであるわけではありません。 処理される SQL または XQuery ステートメントごとに割り振られて解放されます。 動的 SQL または XQuery ステートメントの場合、ステートメント・ヒープはプログラムの実行時に使用されます。 静的 SQL または XQuery ステートメントの場合、ステートメント・ヒープはバインド処理時に使用されますが、プログラム実行時は使用されません。

stmtheap パラメーターは、基礎となる値を指定した AUTOMATIC、または 1 つの固定値に設定できます。

stmtheap パラメーターを AUTOMATIC に設定した場合、動的結合列挙を使用する 1 つのコンパイルに対して割り振られるメモリー量の制限には、基礎となる値が適用されます。 メモリー限度に達すると、欲張り型の結合列挙および無制限のステートメント・ヒープを使ってステートメント・コンパイルが再開されます。 AUTOMATIC オプションを指定すると、欲張り型結合列挙が実行されますが、ステートメントのコンパイルは、残りのアプリケーション・メモリー (APPL_MEMORY)、インスタンス・メモリー (INSTANCE_MEMORY)、またはシステム・メモリーの量によってのみ制限されます。 欲張り型の結合列挙が正常に完了した場合、SQL0437W 警告がアプリケーションに戻されます。 欲張り型の結合列挙がメモリー限度に達した場合は、ステートメント準備が失敗して SQL0101N が出されます。

例えば、 db2 update db cfg for SAMPLE using STMTHEAP 8192 AUTOMATIC は、動的結合列挙の場合は 8192 * 4K (32MB) のステートメント・ヒープ制限を作成し、欲張り型結合列挙の場合は制限を作成しません。

stmtheap パラメーターを固定値に設定した場合、動的および欲張り型の両方の結合列挙に対して制限が適用されます。 動的結合列挙でメモリー限度に達した場合、同じステートメント・ヒープ固定制限を使って欲張り型の結合列挙が試行されます。 欲張り型の結合列挙が正常に完了した場合、SQL0437W 警告がアプリケーションに戻されます。 欲張り型の結合列挙がメモリー限度に達した場合は、ステートメント準備が失敗して SQL0101N が出されます。

例えば db2 update db cfg for SAMPLE using STMTHEAP 8192 の場合、動的結合列挙と欲張り型結合列挙の両方とも、ステートメント・ヒープ制限は 8192 * 4K (32MB) になります。

照会の実行時パフォーマンスが不十分な場合は、動的プログラミング結合列挙が確実に行われるように、stmtheap 構成パラメーター値 (AUTOMATIC の基礎となる値または固定値) を増やすことを考慮してください。 stmtheap 構成パラメーターを更新して照会のパフォーマンスを向上させる場合は、ステートメントを強制的に再コンパイルしてください。 ステートメントを強制的に再コンパイルすると、新しいステートメント・ヒープ・サイズを利用する新しいアクセス・プランを照会オプティマイザーが作成する可能性があります。

注: 動的プログラミング結合列挙は、最適化クラス 3 以上でのみ発生します。 デフォルトの最適化クラスは 5 です。