ソート機能のメモリ見積り式の記号を説明します。
変数 | 意味 | 単位 |
---|---|---|
N | 総レコード件数 | 件数 |
S | ソート式に指定したソート項目の数 | 個 |
A | ソート式に指定したソート項目の平均サイズ (注1) | バイト |
M | リターン式に指定した関数および項目名/テキスト式/仮想項目の数 (注2) | 個 |
B | リターン式に指定した出力項目の平均サイズ (注3) | バイト |
MM | ソート機能で利用するメモリサイズ (注4) | メガバイト |
L | 1レコードの最大長 | バイト |
P | 並列数 (注5) | 個 |
V | 仮想項目定義数 | 個 |
VC | 仮想項目の関係式に指定するリテラルのバイト数(注6)の合計 | バイト |
ソート式に指定したデータ長を指定します。
val関数、数値関数、および数値型の仮想項目の場合: 16
substr関数の場合: substr関数の文字列長に指定した文字数分のバイト長(平均)
項目名、テキスト式、文字列型の仮想項目、およびrtrim関数の場合: 項目名、テキスト式、文字列型の仮想項目、およびrtrim関数の引数に指定した項目が示すデータのバイト長(平均)
20を超える場合は20を指定します。
日付値関数、および日付型の仮想項目の場合: 6
時刻関数、および時刻型の仮想項目の場合: 3
日時値関数、および日時型の仮想項目の場合: 9
リターン式を省略した場合は、全項目数に1を設定してください。
リターン式を指定した場合は、リターン式に指定した集合関数(count、sum、max、min、avg)、val関数、substr関数および項目名/テキスト式/仮想項目の数を指定します。ただし重複するものは数に含めないでください。
例:リターン式がval($A), substr($B,10), substr($C,20), $C の場合val ($A)とsubstr($B)とsubstr($C)で3となります。
リターン式を省略した場合は、データの平均サイズを指定してください。
リターン式を指定した場合は、リターン式に指定した関数、項目名/テキスト式/仮想項目のデータ長の合計を指定します。
項目名/テキスト式のデータ長: 項目名/テキスト式が示すデータの文字数分のバイト長
文字列型の仮想項目のデータ長: 仮想項目が示すデータの文字数分のバイト長
数値型の仮想項目のデータ長: 16
日付型の仮想項目のデータ長: 6
時刻型の仮想項目のデータ長: 3
日時型の仮想項目のデータ長: 9
関数のデータ長は、関数の引数に指定した項目名/テキスト式/仮想項目のデータ長を上記に従って求めます。
コマンドの場合
ソート条件ファイルのMemorySizeパラメタに指定された値を指定してください。MemorySizeパラメタを省略した場合には、1000を指定してください。
C APIの場合
AsisSetEnvSort関数の呼出し時に指定したMemorySizeパラメタを指定してください。MemorySizeパラメタに0を指定した場合には、1000を指定してください。
見積り式には、メガバイト値を指定してください。バイトに換算する必要はありません。
C APIの場合は、1を指定します。
コマンドの場合は、sort用動作環境ファイルのInFileパラメタおよび、ParallelNumパラメタの指定によって決定します。詳細は“リファレンス集”の“sort用動作環境ファイル”のParallelNumパラメタを参照してください。
リテラルのバイト数は、以下のように計算します。
文字列リテラルの場合のデータ長:指定したリテラルのバイト数
数値リテラルの場合のデータ長:16
日付リテラルの場合のデータ長:6
時刻リテラルの場合のデータ長:3
日時リテラルの場合のデータ長:9
EMPTYの場合のデータ長:0