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