データベースシステムにSymfoware Serverを利用する場合、業務アプリケーションが動作するプロセスにおいて、クライアント用の動作環境ファイルが必要になります。このクライアント用の動作環境ファイルには、業務アプリケーションがデータベースを操作するための各種パラメタを指定することが可能です。
以下に、チューニングに関する主なパラメタについて説明します。なお、Symfoware Serverのバージョンによってパラメタのデフォルト値などが異なるため、設定の際には必ず使用しているSymfoware Serverのマニュアルも確認してください。
■MAX_SQL
同一トランザクション内で指定できるSQL文の数を指定します。
MAX_SQL = (SQL文の数)
2~32000の範囲で指定します。省略した場合は、1024が指定されたとみなします。
なお、非同期アプリケーション連携実行基盤で、メッセージとDBの整合性保証機能を使用する場合には、非同期アプリケーション連携実行基盤の制御として30のSQL文を利用します。業務アプリケーションが利用するSQL文を計算する場合には、30を足して算出してください。
■BUFFER_SIZE
通信に利用するバッファサイズを指定します。
単位はキロバイトです。
BUFFER_SIZE=([初期量][,拡張量])
バッファの初期量を1~10240で指定します。
省略した場合、32になります。
拡張量を1~10240で指定します。
省略した場合、32になります。
■OPL_BUFFER_SIZE
同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。このSQLの処理手順を格納するバッファのサイズを指定します。この領域は、サーバ側で獲得されます。
OPL_BUFFER_SIZE=(バッファサイズ)
SQLの処理手順を格納するバッファのサイズを1~1280000で指定します。
単位はキロバイトです。
省略した場合、8192になります。
■MAX_PARALLEL
SQL文でデータベースを並列に検索する場合の多重度です。
SQL文でデータベースを並列に検索できるのは、単一行SELECT文またはカーソル宣言で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。
MAX_PARALLEL=(多重度)
省略した場合は、システム用の動作環境ファイルにおけるMAX_PARALLELの指定に従って並列検索(並列クエリ)を行います。
2~100の範囲で指定します。
■PARALLEL_SCAN
アプリケーション単位またはコネクション単位に、データベースを並列に検索する(並列クエリ)かどうかを指定します。並列クエリは、以下の場合に利用できます。
Symfoware Server Enterprise Extended Editionの場合
Symfoware Server Enterprise Editionの場合
Symfoware Server Standard Editionの場合
Symfoware Server Enterprise Extended Editionの場合
Symfoware Server Enterprise Editionの場合
PARALLEL_SCAN=({YES | NO})
PARALLEL_SCAN=(NO)
データベースを並列に検索します。この場合、そのアプリケーションの単一行SELECT文およびOPEN文を並列検索で実行できます。
ただし、以下のどれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースにアクセスします。
表がDSI分割されていない、または1つのDSIに対するアクセスの場合
クラスタキーを利用したデータベースアクセスが可能な場合
探索条件にROW_IDを指定した検索の場合
インデックスを利用したデータベースアクセスが可能な場合
データベースを並列に検索しません。
■R_LOCK
占有の単位を行にするかどうかを指定します。
R_LOCKにYESが指定された場合、以下の指定はできません。
クライアント用の動作環境ファイルのDSO_LOCK
サーバ用の動作環境ファイルのDSO_LOCK
R_LOCK=({YES | NO})
システム用の動作環境ファイルの、R_LOCKの指定値
占有の単位を行にします。
占有の単位は、DSO_LOCKの指定に従います。
このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfowareによって自動的に占有の単位が選択されます。非同期アプリケーション連携実行基盤を利用する場合には、“NO”は指定しないでください。
■RESULT_BUFFER
FETCH文によってデータを取り出すときの性能を良くするため、複数の行を一度に取り出します。この行を格納するバッファの数とサイズを指定します。バッファサイズを大きくするほど、FETCHの性能が良くなります。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数のカーソルの操作の性能を良くすることができます。バッファを使用しない場合は、個数に0を指定します。単位はキロバイトです。この領域は、クライアント側とサーバ側で獲得されます。
RESULT_BUFFER=(個数,サイズ)
使用するバッファの個数を0~255で指定します。
省略した場合、2になります。
使用するバッファのサイズを1~10240で指定します。
単位はキロバイトです。
省略した場合は、32になります。