パラメータ
本付録では、ProSortの実行に必要なパラメータについて説明します。変更されたパラメータは種類によって静的または動的にシステムに反映されます。
1. 性能関連パラメータ
以下では、ProSortの性能関連パラメータについて説明します。
|
性能を最大化するための理論的な推奨値についても記述します。しかし、最適なパラメータ値を特定するには、多様なパラメータ値を変更しながらProSortを実行してみるのが唯一の方法です。 |
| パラメータ | 説明 |
|---|---|
SORT演算の実行に使われるスレッドの数を設定します。(デフォルト値 : 2) |
|
SORT演算を実行する際に、ここで設定したバイトずつ入力ファイルを読み込みます。(デフォルト値: 4MB) |
|
SORT演算を実行する際に、ここで設定したバイトずつ出力ファイルを書き込みます。(デフォルト値: 4MB) |
|
C標準ライブラリの |
|
非同期の入力を使用するかどうかを設定します。(デフォルト値: Y) |
|
非同期の出力を使用するかどうかを設定します。(デフォルト値: Y) |
|
MERGE演算を実行する際に、ここで設定したバイトずつ入力ファイルを読み込みます。(デフォルト値: 2MB) |
|
入力ファイルをメモリに最大限に読み込んで処理するかどうかを設定します。(デフォルト値: Y) |
|
C標準ライブラリの |
|
入力ファイルのサイズがこのパラメータ値より小さい場合は1-passソートを実行し、そうでない場合は2-passソートを実行します。 (デフォルト値: 0、0は (メモリ容量) * 0.1を意味する) |
|
MEMORYパラメータ値に従ってメモリ使用量を制限するかどうかを設定します。(デフォルト値: N) |
|
TPデータ型の場合、正数を表現する方式を設定します。 |
|
合計フィールド(Summary field)でオーバーフローが発生した場合に実行する操作を設定します。 |
|
ソート対象のデータ型がBIの場合に、変換関数を使用するかどうかを設定します。 |
|
ソート対象のデータ型がCHの場合、EBCDICとASCIIを使用できますが、どちらの文字セットを使用するかを設定します。 |
|
ソート対象のデータ型がBIの場合、EBCDICとASCIIを使用できますが、どちらの文字セットを使用するかを設定します。 |
|
ソート対象のデータ型がAQの場合に、基本的なソート順序(base sequence)を設定します。 |
|
EBCDICをソートする際に使用するコード・ページを設定します。 |
|
OpenFrameのEBCDIC変換規則を使用するかどうかを設定します。(デフォルト値: N) |
|
OpenFrameのEBCDIC変換規則を使用する場合、使用するCPMを設定します。 |
1.1. SORT_THREAD_COUNT
ソートに使用するスレッド数を設定するパラメータです。値を大きく設定するほど性能は向上しますが、CPUプロセッサーの数を超えないように設定します。
-
パラメータの形式
属性 説明 パラメータのタイプ
整数
デフォルト値
2
範囲
0 ~ 255
-
例
0に設定する場合、スレッドを使用しないという意味になります。
SORT_THREAD_COUNT=0
1.2. SORT_READ_BLK_SIZE
ソートの際にファイルの読み込みに使用するブロックのサイズを設定するパラメータです。
設定値はオペレーティング・システムのブロック・サイズの倍数である必要があります。設定値は性能に大きな影響は及ぼしませんが、小さすぎたり大きすぎる場合は性能が低下するので、デフォルト値を使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
整数
デフォルト値
4194304
範囲
64K ~ 512M
1.3. SORT_WRITE_BLK_SIZE
ソートの実行結果をファイルに記録するときに使用するブロックのサイズを設定するパラメータです。
設定値はオペレーティング・システムのブロック・サイズの倍数である必要があります。設定値は性能に大きな影響は及ぼしませんが、小さすぎたり大きすぎる場合は性能が低下するので、デフォルト値を使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
整数
デフォルト値
4194304
範囲
64K ~ 512M
1.4. USE_SYSTEM_QUICK_SORT
オペレーティング・システムがサポートする qsort 関数を使用するかどうかを設定するパラメータです。
一般的に qsort 関数よりProSortに組み込まれているソート関数を使用した方が性能が向上するので、デフォルト値を使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
例
以下は、ProSortに組み込まれているソート関数の代わりにオペレーティング・システムがサポートする qsort関数を使用する例です。
USE_SYSTEM_QUICK_SORT=Y
1.5. USE_AIO_READ
ファイルを読み込む際に、非同期の入出力を使用するかどうかを設定するパラメータです。ただし、非同期入出力をサポートするオペレーティング・システムでのみ使用できます。
非同期入出力をサポートするオペレーティング・システムではYに設定すると性能が向上しますが、非同期入出力をサポートしないオペレーティング・システムではNに設定する必要があります。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
Y
範囲
Y | N
1.6. USE_AIO_WRITE
演算結果をファイルに記録する際に、非同期の入出力を使用するかどうかを設定するパラメータです。ただし、非同期入出力をサポートするオペレーティング・システムでのみ使用できます。
非同期入出力をサポートするオペレーティング・システムではYに設定すると性能が向上しますが、非同期入出力をサポートしないオペレーティング・システムではNに設定する必要があります。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
Y
範囲
Y | N
1.7. MERGE_READ_BLK_SIZE
マージの際にファイルの読み込みに使用するブロックの最大サイズを設定するパラメータです。外部ソートを行うとき、内部でマージを行うため、このパラメータの設定値に影響されます。
設定値はオペレーティング・システムのブロック・サイズの倍数である必要があります。値を大きく設定するほど性能は向上しますが、(メモリ容量) / (入力ファイル数)より大きく設定すると、性能が低下します。
-
パラメータの形式
属性 説明 パラメータのタイプ
整数
デフォルト値
2097152
範囲
64K ~ 512M
1.8. MAXIMIZE_MEM_RUN_SIZE
メモリで処理できる入力ファイルのサイズを最大化するかどうかを設定するパラメータです。一般的にYに設定すると性能が向上するので、デフォルト値を使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
Y
範囲
Y | N
-
例
以下は、メモリで処理できる入力ファイルのサイズを最大化する例です。
MAXIMIZE_MEM_RUN_SIZE=Y
1.9. USE_SYSTEM_MALLOC
オペレーティング・システムがサポートする malloc 関数を使用するかどうかを設定するパラメータです。一般的に malloc 関数よりProSortに組み込まれているメモリ割り当て関数を使用した方が性能が向上するので、デフォルト値を使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
例
以下は、ProSortに組み込まれているメモリの割り当て/解除関数の代わりに、オペレーティング・システムがサポートする
malloc関数を使用する例です。USE_SYSTEM_MALLOC=Y
1.10. MEMORY
ソートに使用するメモリのサイズを設定するパラメータです。このパラメータを設定しない場合、スクリプト・ファイルに設定された値を使用します。
入力ファイルのサイズがこのパラメータの値より小さい場合は1-passソートを実行し、そうでない場合は2-passソートを実行します。
-
パラメータの形式
属性 説明 パラメータのタイプ
整数
デフォルト値
0(0は、(メモリ容量) * 0.1 を意味する)
範囲
0 ~ 1125899906842624
1.11. USE_STRICT_MEMORY
MEMORYパラメータの値をどのように使用するかを設定するパラメータです。このパラメータの設定値によって、MEMORYパラメータの値をソート方式を選択すると共に物理的なメモリの使用量を制限する目的で使用するか、あるいはソート方式を選択する目的でのみ使用するかが決まります。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
設定値
性能には影響しませんが、設定値の特性によって指定します。
設定値 説明 Y
MEMORYパラメータの値に従ってソート方式を選択し、メモリの使用量を制限します。
N
MEMORYパラメータの値をソート方式を選択する目的でのみ使用します。(デフォルト値)
-
例
以下は、ソート方式を選択すると共に、物理的なメモリの使用量を制限するように設定する例です。
USE_STRICT_MEMORY=Y
以下は、ソート方式のみを選択するように設定する例です。
USE_STRICT_MEMORY=N
1.12. USE_ALTERNATIVE_TP_TYPE
TPデータ型は正数を表現する2つの方式があります。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
設定値
-
方式1
このパラメータの値をNに設定する場合、TPデータ型の正数を方式1で表現します。
'{', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I' -
方式2
このパラメータの値をYに設定する場合、TPデータ型の正数を方式2で表現します。ZD形式コードも方式2で表現します。
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
-
1.13. SUM_OVERFLOW_OPTION
合計フィールド(Summary field)でオーバーフローが発生した場合に実行する操作を設定するパラメータです。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
RC4
範囲
RC0 | RC4 | RC16
-
例
以下は、RC0を設定した例です。オーバーフローが発生したときに、戻り値を0に設定し、合計演算を続けます。ただし、オーバーフローを発生させたレコードは合計演算から除外された状態で残ります。
SUM_OVERFLOW_OPTION=RC0
以下は、RC4を設定した例です。オーバーフローが発生したときに、戻り値を4に設定し、合計演算を続けます。ただし、オーバーフローを発生させたレコードは合計演算から除外された状態で残ります。
SUM_OVERFLOW_OPTION=RC4
以下は、RC16を設定した例です。オーバーフローが発生したときに、合計演算を中止し、16を返します。
SUM_OVERFLOW_OPTION=RC16
1.14. USE_BI_KEY_CONV
ソート対象のデータ型がBIの場合に、変換関数を使用するかどうかを設定するパラメータです。ただし、BI型に関連する問題が発生した場合にのみ使用することを推奨します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
1.15. USE_CH_EBCDIC
ソート対象のデータ型がCHの場合は、EBCDICとASCIIを使用できます。このパラメータは、そのうちどの文字セットを使用するかを設定します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
例
以下は、EBCDICを使用するように設定する例です。
USE_CH_EBCDIC=Y
以下は、ASCIIを使用するように設定する例です。
USE_CH_EBCDIC=N
1.16. USE_BI_EBCDIC
ソート対象のデータ型がBIの場合は、EBCDICとASCIIを使用できます。このパラメータは、そのうちどの文字セットを使用するかを設定します。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
例
以下は、EBCDICを使用するように設定する例です。
USE_BI_EBCDIC=Y
以下は、ASCIIを使用するように設定する例です。
USE_BI_EBCDIC=N
1.17. USE_AQ_EBCDIC
ソート対象のデータ型がAQの場合に、基本的なソート順序(base sequence)を設定するパラメータです。EBCDICとASCIIのいずれかを指定できます。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
例
以下は、EBCDICを使用するように設定する例です。
USE_AQ_EBCDIC=Y
以下は、ASCIIを使用するように設定する例です。
USE_AQ_EBCDIC=N
1.18. EBCDIC_CODEPAGE
EBCDICをソートする際に使用するコード・ページを設定するパラメータです。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
CP500
範囲
EBCDIK | CP500 | CP298
-
例
以下は、EBCDICをソートする際にコード・ページ298を使用するように設定する例です。
EBCDIC_CODEPAGE=CP298
2. その他のパラメータ
以下では、その他のパラメータについて説明します。
| パラメータ | 説明 |
|---|---|
スクリプトにEQUALSオプションが指定されていなくても、SORT演算で安定ソート(stable sort)を実行するように設定します。(デフォルト値: N) |
|
データ型に応じた妥当性チェックを行うかどうかを設定します。(デフォルト値: N) |
|
SUM演算を実行する際、スクリプトにLASTDUPオプションが指定されていなくても、LASTDUPが指定された場合と同様に動作させます。(デフォルト値: N) |
|
DATE関連オプションを使用する際、システム日付の代わりに使用する日付を設定します。 |
2.1. USE_DEFAULT_EQUALS
スクリプトにEQUALSオプションが指定されていなくても、SORT演算で安定ソート(stable sort)を実行するように設定するパラメータです。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
設定値
設定値 説明 Y
安定ソートを実行します。
N
安定ソートを実行しません。(デフォルト値)
2.2. CHECK_DATA_VALIDATION
データ型に応じた妥当性チェックを行うかどうかを設定するパラメータです。
-
パラメータの形式
属性 説明 パラメータのタイプ
文字列
デフォルト値
N
範囲
Y | N
-
設定値
設定値 説明 Y
データ型に応じた妥当性チェックを行います。妥当でない場合は、エラーを発生させます。
N
データ型の妥当性チェックを行いません。(デフォルト値)