複数文のリクエストをパックすると、アプリケーションおよびデータベース間の送受信の回数が削減されることで、ネットワーク/メインフレームの効率が向上します。
Pack属性に指定する理想的なパック係数を決定するためには、はじめに、PackMaximum属性を'Yes'に設定して使用します。 最初のジョブ実行でこの属性をYesに設定すると、経験則に基づいて最大可能パック係数を決定するために、データベースとの繰り返しのやり取りが設定されます。 実行終了時に、この値がStreamオペレータのログ対象の出力に表示されます。 後続の実行時に、Pack属性にその決定された値を指定します。 PackMaximumを'No'に設定します。
別の方法としては、問合わせた場合、StreamドライバのTD_Evt_PackFactorイベントは現在のパック係数を返します。 接続が開始され、これが終了するまでの間、この値を使用できます。
Streamオペレータは、次の条件が満たされると、最大パッキング係数に到達するまで、またはバッファがリクエストごとに満たされるまで実行を続けます。
- スキーマに可変長列がある
- 配列サポートがオンである
- 次のいずれかに該当する
- PACK係数が2400に設定されている
- PACKMAXIMUMが'Yes'または'Y'に設定されている
- PACK係数の属性およびPACKMAXIMUM属性のいずれも設定されていない
ユーザーに、次のようなメッセージで"浮動小数"PACK係数が通知されます。
**** 14:50:34 The PACK factor has changed. The minimum PACK factor is about 1270 data records per request. The maximum PACK factor is about 1298 data records per request.
上記のメッセージで、"about"という単語は、ワーカー インスタンスごとに異なるPACK係数を使用できることを表わしています。