Interstage Data Effector ユーザーズガイド
目次 索引 前ページ次ページ

付録E メモリ見積り式

E.3 集計機能のメモリ見積り式

集計機能のメモリ見積り式について、説明します。

見積り式

32ビット用Data Effectorの場合
15 × 1,024 × 1,024

    + ( G × ( α × 2 × N × [(A - logN)] × 72 )

    + N × ( 40 + M × 28 + 36 + ( G × ( 24 + A ) ) + B ) ) / D

    + 2 × L
64ビット用Data Effectorの場合
15 × 1,024 × 1,024

    + ( G × ( α × 2 × N × [(A - logN)] × 144 )

    + N × ( 44 + M × 28 + 52 + ( G × ( 36 + A ) ) + B ) ) / D

    + 2 × L
[(A - logN)]の計算結果が1以下の場合は、1としてください。

記号の説明

変数

意味

単位

N

集計結果見積りレコード数(グループ数)

件数

G

グループ式に指定したグループ項目の数

A

グループ式に指定したグループ項目の平均サイズ   (注1)

バイト

M

集計式に指定した関数および項目名/テキスト式の数 (注2)

B

集計式に指定したval、rlen、項目名/テキスト式のデータ長の合計  (注3)

バイト

D

一時ファイルの使用 (注4)

-

L

1レコードの最大長

バイト

α

グループキーの係数   (注5)

0 < α < 1

注1)

グループ式に指定したデータ長を指定します。
20を超える場合は20を指定します。

注2)

集計式に指定した集合関数(count、sum、max、min、avg)、val、rlenおよび項目名/テキスト式の数を指定します。ただし重複するものは数に含めないでください。
例:集計式がsum($A)+20, sum($A)+sum($B) の場合、sum($A)とsum($B)で2となります。
例:集計式がval($C), rlen($D,10), rlen($D,20), $E の場合、val($C)とrlen($D)と$Eで3となります。

注3)

集計式に指定したval、rlen、項目名/テキスト式のデータ長の合計を指定します。
1つずつのデータ長は以下のように求めます。

注4)

注5)

グループ式に指定した項目のデータの内容に依存します。

見積り例

集計機能のメモリ見積り例を以下に示します。
変動要因が以下の条件の場合

変数

意味

数値例

N

集計結果見積りレコード数(グループ数)

100,000件数

G

グループ式に指定したグループ項目の数

4個

A

グループ式に指定したグループ項目の平均サイズ

8バイト

M

集計式に指定した関数および項目名/テキスト式の数

8個

B

集計式に指定したval、rlen、項目名/テキスト式のデータ長の合計

160バイト

D

一時ファイルの使用

1

L

1レコードの最大長

2,048バイト

α

グループキーの係数

0.6

32ビット用Data Effectorの場合
15 × 1,024 × 1,024

 + ( 4 × ( 0.6 × 2 × 100,000 × [(8 - log(100,000))] × 72 )

 + 100,000 × ( 40 + 8 × 28 + 36 + ( 4 × ( 24 + 8 )) + 160 )) / 1

 + 2 × 2,048 = 178,212,736 バイト (約170メガバイト)
64ビット用Data Effectorの場合
15 × 1,024 × 1,024

 + ( 4 × ( 0.6 × 2 × 100,000 × [(8 - log(100,000))] × 144 )

 + 100,000 × ( 44 + 8 × 28 + 52 + ( 4 × ( 36 + 8 )) + 160 )) / 1

 + 2 × 2,048 = 288,692,736 バイト (約275メガバイト)

グループ式に指定された項目の内容(ばらつき度合い)により、実際のメモリ使用量が見積り結果より大きくなる場合があります。
そのため、必ず実機で測定し、確認してください。

目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED