パラメータ

本付録では、ProSortの実行に必要なパラメータについて説明します。変更されたパラメータは種類によって静的または動的にシステムに反映されます。

1. 性能関連パラメータ

以下では、ProSortの性能関連パラメータについて説明します。

性能を最大化するための理論的な推奨値についても記述します。しかし、最適なパラメータ値を特定するには、多様なパラメータ値を変更しながらProSortを実行してみるのが唯一の方法です。

パラメータ 説明

SORT_THREAD_COUNT

SORT演算の実行に使われるスレッドの数を設定します。(デフォルト値 : 2)

SORT_READ_BLK_SIZE

SORT演算を実行する際に、ここで設定したバイトずつ入力ファイルを読み込みます。(デフォルト値: 4MB)

SORT_WRITE_BLK_SIZE

SORT演算を実行する際に、ここで設定したバイトずつ出力ファイルを書き込みます。(デフォルト値: 4MB)

USE_SYSTEM_QUICK_SORT

C標準ライブラリの qsort 関数を使用するかどうかを設定します。(デフォルト値: N)

USE_AIO_READ

非同期の入力を使用するかどうかを設定します。(デフォルト値: Y)

USE_AIO_WRITE

非同期の出力を使用するかどうかを設定します。(デフォルト値: Y)

MERGE_READ_BLK_SIZE

MERGE演算を実行する際に、ここで設定したバイトずつ入力ファイルを読み込みます。(デフォルト値: 2MB)

MAXIMIZE_MEM_RUN_SIZE

入力ファイルをメモリに最大限に読み込んで処理するかどうかを設定します。(デフォルト値: Y)

USE_SYSTEM_MALLOC

C標準ライブラリの malloc 関数を使用するかどうかを設定します。(デフォルト値: N)

MEMORY

入力ファイルのサイズがこのパラメータ値より小さい場合は1-passソートを実行し、そうでない場合は2-passソートを実行します。

(デフォルト値: 0、0は (メモリ容量) * 0.1を意味する)

USE_STRICT_MEMORY

MEMORYパラメータ値に従ってメモリ使用量を制限するかどうかを設定します。(デフォルト値: N)

USE_ALTERNATIVE_TP_TYPE

TPデータ型の場合、正数を表現する方式を設定します。

SUM_OVERFLOW_OPTION

合計フィールド(Summary field)でオーバーフローが発生した場合に実行する操作を設定します。

USE_BI_KEY_CONV

ソート対象のデータ型がBIの場合に、変換関数を使用するかどうかを設定します。

USE_CH_EBCDIC

ソート対象のデータ型がCHの場合、EBCDICとASCIIを使用できますが、どちらの文字セットを使用するかを設定します。

USE_BI_EBCDIC

ソート対象のデータ型がBIの場合、EBCDICとASCIIを使用できますが、どちらの文字セットを使用するかを設定します。

USE_AQ_EBCDIC

ソート対象のデータ型がAQの場合に、基本的なソート順序(base sequence)を設定します。

EBCDIC_CODEPAGE

EBCDICをソートする際に使用するコード・ページを設定します。

USE_OF_CONVERSION_RULE

OpenFrameのEBCDIC変換規則を使用するかどうかを設定します。(デフォルト値: N)

OF_CPM

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

1.19. USE_OF_CONVERSION_RULE

OpenFrameのEBCDIC変換規則を使用するかどうかを設定するパラメータです。

  • パラメータの形式

    属性 説明

    パラメータのタイプ

    文字列

    デフォルト値

    N

    範囲

    Y | N

  • 以下は、OpenFrameのEBCDIC変換規則を使用するように設定する例です。

    USE_OF_CONVERSION_RULE=Y

1.20. OF_CPM

OpenFrameのEBCDIC変換規則を使用する場合、使用するCPMを設定するパラメータです。

  • パラメータの形式

    属性 説明

    パラメータのタイプ

    文字列

    デフォルト値

    ASCEBCUS

    範囲

    OpenFrame CPM

  • 以下は、OpenFrameのCPMを設定する例です。

    OF_CPM=ASCEBCUS

2. その他のパラメータ

以下では、その他のパラメータについて説明します。

パラメータ 説明

USE_DEFAULT_EQUALS

スクリプトにEQUALSオプションが指定されていなくても、SORT演算で安定ソート(stable sort)を実行するように設定します。(デフォルト値: N)

CHECK_DATA_VALIDATION

データ型に応じた妥当性チェックを行うかどうかを設定します。(デフォルト値: N)

USE_DEFAULT_LASTDUP_IN_SUM

SUM演算を実行する際、スクリプトにLASTDUPオプションが指定されていなくても、LASTDUPが指定された場合と同様に動作させます。(デフォルト値: N)

SPARM_DATE

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

    データ型の妥当性チェックを行いません。(デフォルト値)

2.3. USE_DEFAULT_LASTDUP_IN_SUM

SUM演算を実行する際、スクリプトにLASTDUPオプションが指定されていなくても、LASTDUPが指定された場合と同様に動作させるパラメータです。

  • パラメータの形式

    属性 説明

    パラメータのタイプ

    文字列

    デフォルト値

    N

    範囲

    Y | N

  • 設定値

    設定値 説明

    Y

    SUM演算を実行する際、LASTDUPを暗黙的に実行します。

    N

    SUM演算を実行する際、LASTDUPを暗黙的に実行しません。(デフォルト値)

2.4. SPARM_DATE

DATE関連オプションを使用する際、システム日付の代わりに使用する日付を設定するパラメータです。

  • パラメータの形式

    属性 説明

    パラメータのタイプ

    整数

    デフォルト値

    0

    範囲

    0 ~ 99991231

    備考

    作成形式は、「YYYYMMDD」です。

    このパラメータを設定しない場合や、0 または 00000000 に設定した場合は、システム日付を使用します。