アプリケーションからの要求を実行するために、RDBプロセス内に獲得するメモリ量です。
アプリケーションの使用メモリ量の概算は、次の式で見積もってください。
アプリケーションの使用メモリ量 = Σコネクション単位の使用メモリ量 コネクション単位の使用メモリ量 = コネクション接続時に使用するメモリ量 + SQL実行時に使用するメモリ量 コネクション接続時に使用するメモリ量 = 1.2MB + 処理手順格納用バッファサイズ + 検索結果格納用バッファサイズ 処理手順格納用バッファサイズ = 0.7KB + 4.2KB × アクセス対象表数 + 0.17KB × 列数 + 0.08KB × 条件数 SQL実行時に使用するメモリ量 = アクセス対象の表の使用メモリ量 + 並列クエリの使用メモリ量 + ルーチンの使用メモリ量 + 一時表用バッファサイズ + ファンクションルーチンとの通信域 + ワーク域サイズ + ソート域サイズ + XMLアダプタの使用メモリ量 (注1) + Textアダプタの使用メモリ量 (注2) アクセス対象の表の使用メモリ量 = 9KB × DSO数 + 0.6KB × DSO数 × DSI数 + 0.3KB × DSI数 + 2.4KB × 当該RDBシステムに偏在するDSI数 + BLOB型の列の実データ長 × 3 並列クエリの使用メモリ量 = 0.7MB × 並列クエリの多重度 ルーチンの使用メモリ量 = 0.5KB ×ルーチン数 + 1KB ×(IF文数 + SET文数) + パラメタの長さ XMLアダプタの使用メモリ量 = 50KB + CONTAINS関数で使用するメモリ量 CONTAINS関数で使用するメモリ量 = 一致件数 (注3) × 50 Textアダプタの使用メモリ量 = 2KB + CONTAINS関数で使用するメモリ量 CONTAINS関数で使用するメモリ量 = 一致件数 × 200 + 64
注1) XMLアダプタを使用する場合のみ見積もってください。
注2) Textアダプタを使用する場合のみ見積もってください。(Solarisの場合)
注3) 一致件数は次のうち最大となる値を使用してください。
比較式による一致件数
or式による演算結果件数
コネクション単位の使用メモリ量の総和です。
コネクション単位に使用メモリ量を求め、RDBシステムに同時に接続するコネクションの使用メモリ量を合計します。
コネクションを接続しただけで使用されるメモリ量です。
SQLの処理手順を格納するバッファのサイズです。
同時に操作できるSQL文それぞれの処理手順を合計した値を、クライアント用の動作環境ファイルのOPL_BUFFER_SIZEで指定します。
SQLの処理手順を格納するバッファのサイズは使用するルーチン内のSQLも含めて概算を見積もってください。
アクセス対象となる表の総数です。
コネクション中のすべてのSQL文に記述する列の総数です。
列に“*”を記述する場合、表を構成する列の数となります。
同一の列を選択リストや探索条件などの複数箇所に記述する場合や同一箇所に同一の列を複数記述する場合は、それぞれ列数に加算してください。
コネクション中のすべてのSQL文に記述する条件(述語)の総数です。
SQLの検索結果を格納するバッファのサイズです。
クライアント用の動作環境ファイルのRESULT_BUFFERで指定します。
RESULT_BUFFERには、バッファ数とバッファサイズを指定します。
使用メモリ量は“バッファ数×バッファサイズ”となります。
コネクション接続後、SQL実行時に使用するメモリ量です。
アクセス対象の表に定義する、表のDSOとインデックスのDSOの総数です。
アクセス対象の表に定義する、表のDSI数(DSI分割数)とインデックスのDSI数の総和です。
当該表を構成するDSI(表とインデックスのDSI)のうち、当該RDBシステムに偏在するDSIの数です。(当該RDBシステム配下に定義する表DSIとインデックスDSIが対象)
当該表のBLOB型の列の実データ長です。(バイト)
当該表にBLOB型の列定義を含まない場合は、BLOB型の列の実データ長は0バイトです。
当該表にBLOB型の列を複数定義する場合、列単位に実データ長を求め、それらを合計します。
並列クエリを使用しない場合は、並列クエリの使用メモリ量は0バイトです。
並列クエリを使用する場合は、並列クエリの使用メモリ量を見積もります。
SQL文でデータベースを並列に検索する場合の多重度です。
システム用の動作環境ファイル、クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのMAX_PARALLELで指定します。
使用するルーチンのパラメタリストで指定するパラメタの長さの総和です。
当該ルーチンのパラメタリストで指定するパラメタ単位に長さを求め、それらを合計します。
パラメタの長さは、パラメタのデータ型により異なります。
参照
“RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”の“列の長さの見積もり”を参照し、パラメタの長さを見積もってください。
ただし、“列のデータ属性”を“パラメタのデータ型”に置き換えて参照してください。
なお、可変長については、平均の長さではなく、最大の(定義で指定した)長さで計算してください。
一時表にアクセスするためのバッファのサイズです。アプリケーションで一時表を使用する場合は512キロバイト、使用しない場合は0バイトです。
ファンクションルーチンを実行するプロセスとの通信を行うために使用する領域のサイズです。アプリケーションでファンクションルーチンを使用する場合は64キロバイト、使用しない場合は0バイトです。
作業域(作業用テーブル)として使用するメモリのサイズです。
クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのWORK_MEM_SIZEで指定します。
たとえば、カーソル宣言にSCROLLを指定していろいろな方向にカーソルを移動したり、副問合せを利用したりする場合などに使用します。
これ以外にも作業域的な目的で使用することがあります。
ソート処理のための作業域として使用するメモリのサイズです。
クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルのSORT_MEM_SIZEで指定します。
ソート域を必要とするSQL文を発行した場合に使用します。
以下のSQLなどが該当します。
ORDER BY句を指定している。
GROUP BY句を指定している。
UNIONを指定している。
JOINを指定している。
XMLアダプタを使用しない場合は、XMLアダプタの使用メモリ量は0バイトです。
XMLアダプタを使用する場合は、XMLアダプタの使用メモリ量を見積もります。
CONTAINS関数を実行するために必要なメモリ量です。
CONTAINS関数を使用しないアプリケーションの場合は0バイトです。
CONTAINS関数のXML検索式の中で指定された比較式の条件に一致する要素または属性の数です。表に格納された全XMLデータ中の比較式の左辺で指定された要素または属性のうち比較式の条件に合致する要素または属性の数となります。
XML検索式に複数の比較式を指定している場合は、各比較式に一致する要素および属性の数のうち最大のものを使用してください。
CONTAINS関数のXML検索式の中で指定されたor式の演算結果として得られる要素または属性の数です。
or式の左辺および右辺について一致する件数を合計してください。
or式の左辺および右辺の一致件数の計算方法は、左辺および右辺の式の種別によって異なります。次に示す方法で計算してください。
“比較式による一致件数”を参照してください。
and式の左辺、右辺の式の一致件数のうち大きい方を使用します。
“or式による演算結果件数”を参照してください。
XML検索式に複数のor式を指定している場合は、各or式の演算結果として得られる要素および属性の数のうち最大のものを使用してください。
Textアダプタを使用しない場合は、Textアダプタの使用メモリ量は0バイトです。
Textアダプタを使用する場合は、Textアダプタの使用メモリ量を見積もります。
CONTAINS関数を実行するために必要なメモリ量です。
CONTAINS関数を使用しないアプリケーションの場合は0バイトです。
CONTAINS関数のTEXT検索式の条件を満たすレコード数です。