目的
この制御によって、ユーザーは、SQLリクエストのUSINGデータ バッファ内で送信できるインポート データ ファイルのレコードの最大数を指定できます。
構文
次のような場合に当てはまります。
- n
- 0~999900の整数。
0がデフォルト値です。 ゼロは、PACK係数の使用が指定されていないこと、およびPACKの統計がインポートに対して生成されないことを意味します。
無効なnの値を入力すると、次のようなエラー メッセージが表示されます。*** Error: Pack factor value must be in the 0..999900 range. (*** エラー: パック係数値の範囲は0..999900にする必要があります。)
- REQBUFLEN
- インポートに使用できる最大リクエスト バッファ サイズ(バイト単位)を定義します。リクエスト バッファには、SQL文に加えてパックされたレコード(USINGデータ)とメタデータが格納されます。値が大きいほど、より多くのレコードをパックできます。ただし、リクエスト バッファが大きいと、パフォーマンスに影響する可能性があります。実働環境でこのオプションを使用する前に、綿密なテストを実行する必要があります。
使用上の注意
このパック係数は、USINGデータ バッファのオーバーフローを防止するため、減らすことができます。 BTEQは、リクエスト バッファに収まるだけのレコードをパックします。 CLIのバッファ オーバーフロー エラーを阻止するため、BTEQは、パック係数で示された上限と、CLIの最大メッセージ サイズの両方を検討します。
BTEQは、反復リクエストで許容されるパックされるレコードの最大数にデータベースの制限を適用します。指定されたパック係数がデータベースの最大数を超えると、BTEQは警告メッセージを表示し、パック係数を許容限度にリセットします。
パック係数が使用される場合は、リクエスト結果のサマリー メッセージの一部として、使用された係数の平均および最大数の統計が作成されます。REQBUFLENオプションが定義されている場合、要求された値とリクエスト バッファに割り当てられた実際のバイトのための統計行が追加されます。
パック係数は、PACKコマンドまたはREPEATコマンドのPACK句を使用して設定します。 詳細は、REPEATを参照してください。
大容量のパック係数は、慎重に使用する必要があります。 関連するデータ ポインタに対して大幅にメモリが割り当てられるため、特にz/OS BTEQの使用では、事前に計画しておかなければならない場合があります。 さらに、DBSまたはCLIによるマルチデータパーセル プロトコルの制限も考慮します。この制限は、大容量のパック係数の使用にさらに制約を加えます。 PACK係数の設定は、使用中のデータベースが反復リクエストに対応していない場合、無視されます。