Memory capacity
メモリ所要量(参考)

テーブルのメモリ所要量(参考値)を図1のグラフに示します。ESPERiCにはREALテーブル(値を保持するテーブル)とJOINテーブル(ビューテーブル)の2種類がありますが、ここではメモリを多く消費するREALテーブルを取り上げています。

測定に使用したデータは下記のもので、データ行数は 100万行、500万行、1,000万行、5,000万行、1億行です。

  • 整数:4項目
  • 文字列:4項目(英数字のみ、平均54文字)
  • 日付:2項目
各項目共 カーディナリティは100(全てユニークな値)です。
図1 REALテーブルのメモリ所要量
図1 REALテーブルのメモリ所要量

REALテーブルのメモリ所要量に影響する要因は データ行数、テーブルの項目数、項目のデータ型(整数、浮動小数、文字列、日付・時間)の他に次のものがあります。

  • カーディナリティが小さくなればメモリ所要量は少なくなる。
  • 文字列項目に日本語がある場合、メモリ所要量は文字数の3倍(バイト)になる。
ここで示したREALテーブルのメモリ所要量は静的なもので、このテーブルをどの様に操作するかによってメモリ所要量は増加します。例えば、テーブル・項目を複製すればテーブル・項目の所要メモリ量は2倍になり、ジョイン・ユニオンは横方向(項目)・縦方向(行数)に広がりテーブルの所要メモリ量が増加します。検索やソートはサブセットが作成され、その分のメモリ所要量が増えます。また、プログラムをロードするメモリ領域や作業メモリ領域も必要で その容量も加算されます。 実際にどれだけのメモリを消費するかは 実行時にリソースモニター等で調べることができます。
Why not start with the 6 month free offer?
まずは6ヶ月無償提供から!

申し込みはこちら

体験版をダウンロード

ダウンロードはこちら