ページの先頭行へ戻る
Symfoware Server V10.0.0 セットアップガイド

D.8 アプリケーションの使用メモリ量

アプリケーションからの要求を実行するために、RDBプロセス内に獲得するメモリ量です。

アプリケーションの使用メモリ量の概算は、次の式で見積もってください。

アプリケーションの使用メモリ量
      = Σコネクション単位の使用メモリ量

    コネクション単位の使用メモリ量
          = 1.2MB
            + アクセス対象の表の使用メモリ量
            + 並列クエリの使用メモリ量
            + 処理手順格納用バッファサイズ
            + ルーチンの使用メモリ量
            + 検索結果格納用バッファサイズ
            + 一時表用バッファサイズ
            + ファンクションルーチンとの通信域
            + ワーク域サイズ
            + ソート域サイズ
            + XMLアダプタの使用メモリ量   (注1)
            + Textアダプタの使用メモリ量  (注2)

        アクセス対象の表の使用メモリ量
              = 9KB × DSO数
                + 0.6KB × DSO数 × DSI数
                + 0.3KB × DSI数
                + 2.4KB × 当該RDBシステムに偏在するDSI数
                + BLOB型の列の平均データ長 × 2

        並列クエリの使用メモリ量 
              = 0.7MB × 並列クエリの多重度

        処理手順格納用バッファサイズ
              = 0.7KB
                + 4.2KB × アクセス対象表数
                + 0.17KB × 列数
                + 0.08KB × 条件数

        ルーチンの使用メモリ量
              = 0.5KB ×ルーチン数
                + 1KB ×(IF文数 + SET文数)
                + パラメタの長さ

        XMLアダプタの使用メモリ量
              = 50KB
                + CONTAINS関数で使用するメモリ量

            CCONTAINS関数で使用するメモリ量
                  = 一致件数  (注3) × 50

        Textアダプタの使用メモリ量
              = 2KB
                + CONTAINS関数で使用するメモリ量

            CCONTAINS関数で使用するメモリ量
                  = 一致件数 × 200
                    + 64

注1) XMLアダプタを使用する場合のみ見積もってください。

Solaris注2) Textアダプタを使用する場合のみ見積もってください。(Solarisの場合)

注3) 一致件数は次のうち最大となる値を使用してください。

Σコネクション単位の使用メモリ量

コネクション単位の使用メモリ量の総和です。

コネクション単位に使用メモリ量を求め、RDBシステムに同時に接続するコネクションの使用メモリ量を合計します。

一時表バッファサイズ

一時表にアクセスするためのバッファのサイズです。アプリケーションで一時表を使用する場合は512キロバイト、使用しない場合は0バイトです。

ファンクションルーチンとの通信域

ファンクションルーチンを実行するプロセスとの通信を行うために使用する領域のサイズです。アプリケーションでファンクションルーチンを使用する場合は64キロバイト、使用しない場合は0バイトです。

検索結果格納用バッファサイズ

SQLの検索結果を格納するバッファのサイズです。

クライアント用の動作環境ファイルのRESULT_BUFFERで指定します。

RESULT_BUFFERには、バッファ数とバッファサイズを指定します。

使用メモリ量は“バッファ数×バッファサイズ”となります。

ワーク域サイズ

作業域(作業用テーブル)として使用するメモリのサイズです。

クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのWORK_MEM_SIZEで指定します。

たとえば、カーソル宣言にSCROLLを指定していろいろな方向にカーソルを移動したり、副問合せを利用したりする場合などに使用します。

これ以外にも作業域的な目的で使用することがあります。

ソート域サイズ

ソート処理のための作業域として使用するメモリのサイズです。

クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのSORT_MEM_SIZEで指定します。

ソート域を必要とするSQL文を発行した場合に使用します。

以下のSQLなどが該当します。

  • ORDER BY句を指定している。

  • GROUP BY句を指定している。

  • UNIONを指定している。

  • JOINを指定している。

DSO数

アクセス対象の表に定義する、表のDSOとインデックスのDSOの総数です。

DSI数

アクセス対象の表に定義する、表のDSI数(DSI分割数)とインデックスのDSI数の総和です。

当該RDBシステムに偏在するDSI数

当該表を構成するDSI(表とインデックスのDSI)のうち、当該RDBシステムに偏在するDSIの数です。(当該RDBシステム配下に定義する表DSIとインデックスDSIが対象)

BLOB型の列の平均データ長

当該表のBLOB型の列の平均データ長です。(バイト)

当該表にBLOB型の列定義を含まない場合は、BLOB型の列の平均データ長は0バイトです。

当該表にBLOB型の列を複数定義する場合、列単位に平均データ長を求め、それらを合計します。

並列クエリの使用メモリ量

並列クエリを使用しない場合は、並列クエリの使用メモリ量は0バイトです。

並列クエリを使用する場合は、並列クエリの使用メモリ量を見積もります。

並列クエリの多重度

SQL文でデータベースを並列に検索する場合の多重度です。

システム用の動作環境ファイル、クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのMAX_PARALLELで指定します。

処理手順格納用バッファサイズ

SQLの処理手順を格納するバッファのサイズです。

クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのOPL_BUFFER_SIZEで指定します。

SQLの処理手順を格納するバッファのサイズは使用するルーチン内のSQLも含めて概算を見積もってください。

アクセス対象表数

アクセス対象となる表の総数です。

列数

コネクション中のすべてのSQL文に記述する列の総数です。

列に“*”を記述する場合、表を構成する列の数となります。

条件数

コネクション中のすべてのSQL文に記述する条件(述語)の総数です。

パラメタの長さ

使用するルーチンのパラメタリストで指定するパラメタの長さの総和です。

当該ルーチンのパラメタリストで指定するパラメタ単位に長さを求め、それらを合計します。

パラメタの長さは、パラメタのデータ型により異なります。

参照

RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”の“列の長さの見積もり”を参照し、パラメタの長さを見積もってください。

ただし、“列のデータ属性”を“パラメタのデータ型”に置き換えて参照してください。

なお、可変長については、平均の長さではなく、最大の(定義で指定した)長さで計算してください。

XMLアダプタの使用メモリ量

XMLアダプタを使用しない場合は、XMLアダプタの使用メモリ量は0バイトです。

XMLアダプタを使用する場合は、XMLアダプタの使用メモリ量を見積もります。

CONTAINS関数で使用するメモリ量

CONTAINS関数を実行するために必要なメモリ量です。

CONTAINS関数を使用しないアプリケーションの場合は0バイトです。

比較式による一致件数

CONTAINS関数のXML検索式の中で指定された比較式の条件に一致する要素または属性の数です。表に格納された全XMLデータ中の比較式の左辺で指定された要素または属性のうち比較式の条件に合致する要素または属性の数となります。

XML検索式に複数の比較式を指定している場合は、各比較式に一致する要素および属性の数のうち最大のものを使用してください。

or式による演算結果件数

CONTAINS関数のXML検索式の中で指定されたor式の演算結果として得られる要素または属性の数です。

or式の左辺および右辺について一致する件数を合計してください。

or式の左辺および右辺の一致件数の計算方法は、左辺および右辺の式の種別によって異なります。次に示す方法で計算してください。

比較式の場合:

比較式による一致件数”を参照してください。

and式の場合:

and式の左辺、右辺の式の一致件数のうち大きい方を使用します。

or式の場合:

or式による演算結果件数”を参照してください。

XML検索式に複数のor式を指定している場合は、各or式の演算結果として得られる要素および属性の数のうち最大のものを使用してください。

SolarisTextアダプタの使用メモリ量(Solarisの場合)

Textアダプタを使用しない場合は、Textアダプタの使用メモリ量は0バイトです。

Textアダプタを使用する場合は、Textアダプタの使用メモリ量を見積もります。

CONTAINS関数で使用するメモリ量

CONTAINS関数を実行するために必要なメモリ量です。

CONTAINS関数を使用しないアプリケーションの場合は0バイトです。

一致件数

CONTAINS関数のTEXT検索式の条件を満たすレコード数です。