見積り式
コマンドの場合
30 × 1,024 × 1,024 + 2 × 1,024 × 1,024 × P + min(( P + K + E - 1) , 8) × (32 × 1,024 × 1,024) + 64 × 1,024 × K × P + 120 ×1,024 × R × P + L × P + α |
C APIの場合
30 × 1,024 × 1,024 + min(K, 8) × (32 × 1,024 × 1,024) + 120 × 1,024 × R + 2 × (L + 2 × 1,024 × 1,024) + α |
注意
抽出機能では、32ビット用DataEffectorと64ビット用DataEffectorは、同じ見積り式です。
記号の説明
変数 | 意味 | 単位 |
---|---|---|
K | 抽出条件の数(注1) | 個 |
L | 1レコードの最大長 | バイト |
α | 部分文字、文字範囲、数値範囲の検索で使用する領域(注2) | バイト |
R | 抽出条件にリターン式が指定されている数 | 個 |
E | エラーデータ出力機能の使用(注3) | - |
P | 並列数(注4) | 個 |
Kで指定する抽出条件数は、以下の値です。
コマンド利用時:shunselectコマンドの検索定義ファイルに指定した抽出条件の数です。
C API利用時:AsisAddQuerySelect関数の呼出し回数です。
部分文字指定、文字範囲指定または数値範囲指定の検索を実行する場合には、以下の計算で算出します。
32ビット用DataEffectorの場合
部分文字の数、文字の範囲または数値の範囲×キーワードの文字数×1,024バイト
64ビット用DataEffectorの場合
部分文字の数、文字の範囲または数値の範囲×キーワードの文字数×2,048バイト
部分文字指定、文字範囲指定および数値範囲指定を組み合わせて検索を実行する場合には、以下の計算で算出します。
32ビット用DataEffectorの場合
部分文字の数×文字の範囲×数値の範囲×キーワードの文字数×1,024バイト
64ビット用DataEffectorの場合
部分文字の数×文字の範囲×数値の範囲×キーワードの文字数×2,048バイト
「部分文字の数」には、“|”で区切られた部分の個数を指定します。
例えば、“高(田|山|見沢)太郎”という検索キーワードを指定した場合、部分文字の数は3となります。
「文字の範囲」には、“-”で区切ったASCII文字の文字コード値の範囲を指定します。
例えば、“class[A-C]”という検索キーワードを指定した場合、その範囲は0x41(A)、0x42(B)、0x43(C)となるため、文字範囲は3となります。
「数値の範囲」には、“,”で区切った数値1と数値2の範囲を指定します。
例えば、“アルコール[9,11]%”という検索キーワードを指定した場合、その範囲は9、10、11となるため、数値範囲は3となります。
エラーデータ出力機能を使用している場合は、1を指定します。そうでない場合は、0を指定します。
並列数は、入力定義ファイルのDataFileパラメタの指定と、select用動作環境ファイルのParallelNumパラメタの指定によって決定します。詳細は“B.1.1 select用動作環境ファイル”のParallelNumを参照してください。
見積り例
抽出機能のメモリ見積り例を以下に示します。
変動要因が以下の条件の場合
変数 | 意味 | 数値例 |
---|---|---|
K | 抽出条件の数 | 5個 |
L | 1レコードの最大長 | 2,048バイト |
α | 部分文字、文字範囲、数値範囲の検索 | 指定なし |
R | 抽出条件にリターン式が指定されている数 | 3 |
E | エラーデータ出力機能の使用 | 1 |
P | 並列数 | 1 |
コマンドの場合
30 × 1,024 × 1,024 + 2 × 1,024 × 1,024 × 1 + min((1 + 5 + 1 - 1) , 8) × (32 × 1,024 × 1,024) + 64 × 1,024 × 5 × 1 + 120 × 1,024 × 3 × 1 + 2,048 × 1 = 235,579,392 バイト (約225メガバイト) |
C APIの場合
30 × 1,024 × 1,024 + min(5, 8) × (32 × 1,024 × 1,024) + 120× 1,024 × 3 + 2 × (2,048 + 2 × 1,024 × 1,024) = 203,796,480 バイト (約194メガバイト) |