ページの先頭行へ戻る
Symfoware Server V12.10.0 チューニングガイド

A.1 パラメタ一覧

アプリケーションの動作環境をチューニングすることで、アプリケーションの処理性能を向上させることができます。

以下のいずれかの方法で、性能チューニングのためのパラメタの値を変更することで、動作環境をチューニングできます。

動作環境パラメタの指定の優先順位

動作環境の設定項目の中には、システム用の動作環境ファイル、クライアント用の動作環境ファイルおよびサーバ用の動作環境ファイルで重複して指定できるパラメタがあります。優先順位は、以下のとおりです。

参考

データベース簡単運用の場合には、Symfoware Severのインストール時に、システム用の動作環境として最適な環境が設定されるため、チューニングの必要がありません。よって、システム用の動作環境ファイルは、作成不要です。

  1. サーバ用の動作環境ファイル

  2. クライアント用の動作環境ファイル

  3. システム用の動作環境ファイル

ポイント

クライアント用の動作環境ファイルは、埋込みSQL連携およびJava連携の場合に有効となります。ただし、Java連携の場合には、指定不可能なパラメタもあります。詳細は、“アプリケーション開発ガイド(共通編)”の“クライアント用の動作環境ファイル”を参照してください。

Java連携の場合は、クライアント用の動作環境ファイルに相当する指定をctuneparamオプションで指定することができます。

ODBC連携の場合は、クライアント用の動作環境ファイルに相当する指定をODOSのオプションで指定することができます。

.NET Framework連携の場合は、クライアント用の動作環境ファイルに相当する指定をtuneparamキーワードで指定することができます。

それぞれの詳細については、以下のマニュアルを参照してください。

  • アプリケーション開発ガイド(JDBCドライバ編)

  • アプリケーション開発ガイド(ODBCドライバ編)

  • アプリケーション開発ガイド(.NET Data Provider編)

性能チューニングのためのパラメタを、以下に示します。

表A.1 性能チューニングのためのパラメタ一覧

分類

実行パラメタ

概要

優先順位

1

2

3

SV

CL

SY

最適化パラメタ

CHOOSE_TID_UNION

WHERE句に行値構成子、または等価な探索条件を指定した場合、TIDユニオンマージを含めてコスト評価して、アクセスプランを作成するか否か

GROUP_COL_COND_MOVE

導出表を絞り込む探索条件を指定した場合、その探索条件を導出表のWHERE句に移動するか否か

IGNORE_INDEX

インデックスを使用しないアクセスプランを選択するか否か

INACTIVE_INDEX_SCAN

非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否か

JOIN_ORDER

結合表と他の表のジョイン順

JOIN_RULE

ジョインする方法

MAX_SCAN_RANGE

インデックス、クラスタキー、または分割キーの検索範囲の最大数

SAME_COST_JOIN_ORDER

最適化情報を設定していない場合、ジョイン順をV5以前と同じにするか否か

SCAN_KEY_ARITHMETIC_RANGE

四則演算の検索範囲について、インデックス範囲検索、または、クラスタキーの検索を行うか否か

SCAN_KEY_CAST

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か

SS_RATE

述語ごとの検索範囲の選択率の値

SQL_ADVISOR

SQL文に対するアドバイスを出力するか否か

TID_SORT

インデックス検索と表データ取得のアクセスモデルTIDソートを利用するか否か

TID_UNION

TIDユニオンマージのアクセスモデルを有効にするか否か

USQL_LOCK

UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード

並列クエリ

MAX_PARALLEL

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


(注)


(注)

PARALLEL_SCAN

アプリケーション単位またはコネクション単位にデータベースを並列に検索するか否か


(注)


(注)

排他

R_LOCK

排他の単位を行とする

作業領域

SORT_HASHAREA_SIZE

ソート処理がレコードをハッシングして格納するための領域サイズ

SORT_MEM_SIZE

作業用ソート領域として使うメモリサイズ

WORK_MEM_SIZE

作業用テーブルとして使うメモリサイズ

SV:サーバ用の動作環境ファイルへの指定が可能であるか否かを表します。

CL:クライアント用の動作環境ファイルへの指定が可能であるか否かを表します。

SY:システム用の動作環境ファイルへの指定が可能であるか否かを表します。

○:指定可

-:指定不可

注)データベース簡単運用の場合は、指定できません。

参照

以下のパラメタに関する詳細は、“セットアップガイド”を参照してください。

  • SQL_ADVISOR

注意

ASSIST指定を指定した場合、CHANGE ENV文または動作環境ファイルで設定した以下のパラメタよりもASSIST指定が優先されます。

  • CHOOSE_TID_UNION

  • IGNORE_INDEX

  • JOIN_RULE

  • JOIN_ORDER

  • SCAN_KEY_ARITHMETIC_RANGE

  • SCAN_KEY_CAST

  • SS_RATE

  • TID_SORT

  • TID_UNION

パラメタの詳細を説明します。

最適化パラメタ

CHOOSE_TID_UNION

【指定形式】

CHOOSE_TID_UNION = ({YES | NO})

【実行パラメタの意味】

V11.0.0で行値構成子をサポートしました。その際、複数の列から構成されるインデックスを使って高速に検索するようにインデックス検索のアクセスプランを改善しました。
そのため、従来からの探索条件も、行値構成子と等価な場合には、同様にアクセスプランが改善します。

以下の例1、例2について説明します。

例1

行値構成子を指定した探索条件と等価な探索条件の例です。

  • インデックスキー構成列(C1,C2)

  • 行値構成子を指定した探索条件:WHERE (C1,C2)>=(1,1)

  • 等価な探索条件:WHERE (C1=1 AND C2>=1) OR C1>1

V10.1.x以前は複数の検索範囲(「C1=1 AND C2>=1)」の検索範囲、「C1>1」の検索範囲)に対して、別々にインデックスを検索していましたが、V11.0.0以降は 1回で検索できるようにアクセスプランを改善しました。

例2

行値構成子を指定した探索条件と等価な探索条件の例です。

  • インデックスキー構成列:(C1,C2,C3)

  • 行値構成子を指定した探索条件:WHERE C1=1 AND (C2,C3)>=(1,1)

  • 等価な探索条件1:WHERE C1=1 AND ((C2=1 AND C3>=1) OR C2>1)

  • 等価な探索条件2:WHERE (C1=1 AND C2=1 AND C3>=1) OR (C1=1 AND C2>1)

V10.1.x以前は以下のいずれかの検索を行っていましたが、V11.0.0以降は複数の検索範囲を1回で検索できるようにアクセスプランを改善しました。

  • 「C1=1」の検索範囲でインデックスを検索し、検索範囲内で「(C2=1 AND C3>=1) OR C2>1」の条件を判定する。

  • 複数の検索範囲(「C1=1 AND C2=1 AND C3>=1」の検索範囲、「C1=1 AND C2>1の検索範囲)に対して、別々にインデックスを検索する。

V10.1.x以前は複数の検索範囲がある場合にTIDユニオンマージ、または、インデックス検索のアクセスプランから処理手順にかかるコストを評価して、効率の良い処理手順を決めていました。
V11.0.0以降は複数の検索範囲がある場合に改善したインデックス検索、または、インデックス検索と表データ取得のアクセスプランを選択します。ほとんどの場合、インデックス検索の方がSQL文のレスポンスが良いのですが、データの分布によっては表に対するI/O効率の高いTIDユニオンマージの方が良い場合もあります。そのため、V11.0.0以降、まれにSQL文のレスポンスが悪くなることがあります。
このような場合は、当パラメタにYESを指定して、V10.1.x以前と同様のアクセスプランとしてください。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CHOOSE_TID_UNION = (NO)

【パラメタの意味】
YES:

SQL文のWHERE句の指定が、複数の列から構成されるインデックスを使用した検索で、行値構成子、または等価な探索条件を指定した場合、TIDユニオンマージ、インデックス検索、またはインデックス検索と表データ取得のアクセスプランから処理手順にかかるコストを評価して、効率の良い処理手順を決めます(V10.1.x以前のアクセスプラン)。

NO:

SQL文のWHERE句の指定が、複数の列から構成されるインデックスを使用した検索で、行値構成子、または等価な探索条件を指定した場合、V11.0.0で改善したインデックス検索、またはインデックス検索と表データ取得のアクセスプランを選択します。

GROUP_COL_COND_MOVE

【指定形式】

GROUP_COL_COND_MOVE = ({YES | NO})

【実行パラメタの意味】

V6以前のSymfoware Serverからバージョンアップした場合、最適化情報を設定しない運用では、まれにSQL文のレスポンスが悪くなることがあります。このような場合は、本パラメタにNOを指定して、V6以前のアクセスプランを選択します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

GROUP_COL_COND_MOVE = (YES)

【パラメタの意味】
YES:

以下のいずれかの場合、導出表を絞り込む条件を導出表内に移動させる(V7以降のアクセスプラン)。

  • 導出表にGROUP BY句、HAVING句または集合関数を指定している場合。

  • 導出表の選択リストに列指定以外を指定している場合。

NO:

以下のいずれかの場合、導出表を絞り込む条件を導出表内に移動させない(V6以前のアクセスプラン)。

  • 導出表にGROUP BY句、HAVING句または集合関数を指定している場合。

  • 導出表の選択リストに列指定以外を指定している場合。

IGNORE_INDEX

【指定形式】

IGNORE_INDEX = ({YES | NO})

【実行パラメタの意味】

データベースを検索する時に、インデックスを使用せずにデータベースにアクセスするか否かを指定します。データウェアハウジングにおいて大量のデータを検索および集計する場合には、インデックスだけではデータが絞りきれず、インデックスを使う分だけ無駄なオーバヘッドが発生することがあります。このような場合は、当パラメタにYESを指定することにより、表の全件検索または並列スキャンのアクセスモデルを採用します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

IGNORE_INDEX = (NO)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、IGNORE_INDEXの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

インデックスを使用しないアクセスモデルを選択する。

NO:

インデックスが使用できる時は、インデックスを使用したアクセスモデルを選択する。

INACTIVE_INDEX_SCAN

【指定形式】

INACTIVE_INDEX_SCAN = ({YES | NO})

【実行パラメタの意味】

データベースを検索する時に、非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否かを指定します。インデックスを非活性状態とし、一括更新処理でインデックスを更新しない高速なバッチ処理を行うアプリケーションの場合、本パラメタにNOを指定してください。YESが指定されている場合、バッチ処理がエラーとなる場合があります。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

INACTIVE_INDEX_SCAN = (YES)

【パラメタの意味】
YES:

非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択する。

NO:

非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択しない。

JOIN_ORDER

【指定形式】

JOIN_ORDER = ({AUTO | INSIDE | OUTSIDE})

【実行パラメタの意味】

結合表と他の表をジョインする場合のジョイン順を指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

JOIN_ORDER = (INSIDE)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

JOIN_ORDER = (AUTO)

ただし、SQL文にASSIST指定のLEADING_TABLEを指定した場合、ASSIST指定が優先され、JOIN_ORDERの指定に関わらず、ASSIST指定に指定されたジョイン順に従います。

【パラメタの意味】
AUTO:

Symfoware/RDBが自動的に選択する。

INSIDE:

結合表から先にジョインする。

OUTSIDE:

結合表の中に指定した表と結合表の外に指定した表から先にジョインする。

JOIN_RULE

【指定形式】

JOIN_RULE = ({AUTO | MERGE | FETCH})

【実行パラメタの意味】

ジョインする方法を指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

JOIN_RULE = (AUTO)

ただし、SQL文にASSIST指定のJOIN_RULEを指定した場合、ASSIST指定が優先され、JOIN_RULEの指定に関わらず、ASSIST指定に指定されたジョイン方法に従います。

【パラメタの意味】
AUTO:

Symfoware/RDBが自動的に選択する。

MERGE:

マージジョインのアクセスモデルを優先する。

FETCH:

フェッチジョインのアクセスモデルを優先する。

MAX_SCAN_RANGE

【指定形式】

MAX_SCAN_RANGE = (検索範囲数)

【実行パラメタの意味】

インデックス、クラスタキー、または分割キーについて検索範囲を作成する場合の最大数を指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

MAX_SCAN_RANGE = (1000)

【パラメタの意味】
検索範囲数:

1~2147483647の範囲で指定します。

SAME_COST_JOIN_ORDER

【指定形式】

SAME_COST_JOIN_ORDER = ({REVERSE | ORDER})

【実行パラメタの意味】

JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、まれにSQL文のレスポンスが悪くなることがあります。このような場合、本パラメタにREVERSEを指定して、V5以前のジョイン順を選択します。

最適化処理は、最適化情報で処理手順のコストを見積もり、最適な処理手順を選びます。最適化情報を設定していない場合、どのジョイン順も同じコストになることがあります。この場合、V5以前は、WHERE句の表を結合する探索条件の記述の逆順でしたが、V6以降は、記述順になります。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SAME_COST_JOIN_ORDER = (ORDER)

ただし、SQL文にASSIST指定のLEADING_TABLEを指定した場合、ASSIST指定が優先され、SAME_COST_JOIN_ORDERの指定に関わらず、ASSIST指定に指定されたジョイン順に従います。

【パラメタの意味】
REVERSE:

JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、WHERE句の表を結合する探索条件の記述の逆順にジョインするアクセスプランを選択する(V5以前のアクセスモデル)。

ORDER:

JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、WHERE句の表を結合する探索条件の記述順にジョインするアクセスプランを選択する(V6以降のアクセスモデル)。

SCAN_KEY_ARITHMETIC_RANGE

【指定形式】

SCAN_KEY_ARITHMETIC_RANGE = ({YES | NO})

【実行パラメタの意味】

四則演算の検索範囲について、インデックス範囲検索、または、クラスタキーの検索を行うか否かを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SCAN_KEY_ARITHMETIC_RANGE = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SCAN_KEY_ARITHMETIC_RANGEの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

四則演算の検索値について、インデックス範囲検索、または、クラスタキーの検索を行います。

NO:

四則演算の検索値について、インデックス範囲検索、または、クラスタキーの検索を行いません。

SCAN_KEY_CAST

【指定形式】

SCAN_KEY_CAST = ({YES | NO})

【実行パラメタの意味】

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否かを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SCAN_KEY_CAST = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SCAN_KEY_CASTの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行います。

NO:

探索条件に指定したインデックスキーまたは、クラスタキーで範囲検索を行います。

SS_RATE

【指定形式】

SS_RATE = ([選択率1][,[選択率2][,[選択率3][,[選択率4][,[選択率5]]]]])

【実行パラメタの意味】

BETWEEN述語、比較述語、LIKE述語およびCONTAINS関数でインデックスを検索する時、インデックスの検索範囲の割合を0以上1以下の小数で指定します。値は、小数第6位まで指定できます。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SS_RATE = (0.2,0.25,0.5,0.4,0.0001)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SS_RATEの割合に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
選択率1:

BETWEEN述語を指定した場合のインデックスの検索範囲。省略した場合は、0.2が指定されたものとみなします。

選択率2:

比較述語“>”、“>=”、と“<”、“<=”でインデックスの検索開始位置および検索終了位置の両方が指定されている場合のインデックスの検索範囲。省略した場合は、0.25が指定されたものとみなします。

選択率3:

比較述語“>”、“>=”、“<”、“<=”でインデックスの検索開始位置または検索終了のみが指定されている場合のインデックスの検索範囲。省略した場合は、0.5が指定されたものとみなします。

選択率4:

LIKE述語を指定した場合のインデックスの検索範囲。省略した場合は、0.4が指定されたものとみなします。

選択率5:

CONTAINS関数を指定した場合のインデックスの検索範囲。省略した場合は、0.0001が指定されたものとみなします。

TID_SORT

【指定形式】

TID_SORT = ({YES | NO})

【実行パラメタの意味】

インデックス検索と表データ取得のアクセスモデルにおいて、TIDソートを利用するか否かを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TID_SORT = (YES)

ただし、SQL文にASSIST指定のFIRST_ROWSを指定した場合、ASSIST指定が優先され、TID_SORTの指定に関わらず、TIDソートを利用しません。

【パラメタの意味】
YES:

TIDソートを利用します。

NO:

TIDソートを利用しません。

TID_UNION

【指定形式】

TID_UNION = ({YES | NO})

【実行パラメタの意味】

TIDユニオンマージのアクセスモデルを有効にするか否かを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TID_UNION = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、TID_UNIONの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

TIDユニオンマージのアクセスモデルを有効にします。TIDユニオンマージが効果的と判断した場合に選択します。

NO:

TIDユニオンマージのアクセスモデルを有効にしません。

USQL_LOCK

【指定形式】

USQL_LOCK = ({SH | EX})

【実行パラメタの意味】

UPDATE文:探索およびDELETE文:探索において、更新レコードを検索するアクセスモデルの表の占有モードを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

USQL_LOCK = (SH)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

USQL_LOCK = (EX)

【パラメタの意味】
SH:

更新標的レコードを検索するアクセスモデルで共用モードで表を占有します。

EX:

更新標的レコードを検索するアクセスモデルで非共用モードで表を占有します。

並列クエリに関する実行パラメタ

MAX_PARALLEL

【指定形式】

MAX_PARALLEL = (多重度)

【実行パラメタの意味】

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

SQL文でデータベースを並列に検索できるのは、問合せ式で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。

なお、この実行パラメタは、クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルにPARALLEL_SCAN=YESを指定した場合、またはSQL文の問合せ式に並列指定“PARALLEL”を指定した場合に有効となります。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、n多重(注)で並列検索を行います。

注意

OSまたは仮想OSが認識している搭載CPUコア数×2が設定されます。ただし、RDB構成パラメタファイルにてRDBCPUNUMが指定されている場合は、RDBCPUNUM×2が設定されます。

【パラメタの意味】
多重度:

SQL文でデータベースを並列に検索する場合の多重度を2~100の範囲で指定します。

PARALLEL_SCAN

【指定形式】

PARALLEL_SCAN = ({YES | NO})

【実行パラメタの意味】

アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否かを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

PARALLEL_SCAN = (NO)

【パラメタの意味】
YES:

データベースを並列に検索します。この場合、そのアプリケーションの問合せを並列検索で実行できます。

ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。

  • 表がDSI分割されていない、または1つのDSIに対するアクセスの場合

  • クラスタキーを利用したデータベースアクセスが可能な場合

  • 探索条件にROW_IDを指定した検索の場合

  • インデックスを利用したデータベースアクセスが可能な場合

NO:

データベースを並列に検索しません。

排他に関する実行パラメタ

R_LOCK

【指定形式】

R_LOCK = ({YES | NO})

【実行パラメタの意味】

占有の単位を行とするかどうかを指定します。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

R_LOCK = (YES)

【パラメタの意味】
YES:

占有の単位を行とします。このパラメタを指定した場合、クライアント用およびサーバ用の動作環境ファイルにDSO_LOCKパラメタを指定することはできません。

NO:

占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。

データベース簡単運用の場合、占有の単位は、表またはインデックスとなります。

参照

占有の単位についての詳細は、“アプリケーション開発ガイド(共通編)”の“排他制御”を参照してください。

また、データベース簡単運用の場合は、“アプリケーション開発ガイド(共通編)”の“トランザクションと排他制御(データベース簡単運用の場合)”を参照してください。

注意

  • 動作環境ファイルのR_LOCKがNOの場合、動作環境ファイルのDEFAULT_ISOLATIONにREPEATABLE_READを指定、またはSET TRANSACTION文にREPEATABLE READを指定しても、独立性水準はSERIALIZABLEになります。

  • 動作環境ファイルのR_LOCKがYESの場合、動作環境ファイルのDEFAULT_ISOLATIONまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。

  • データベース簡単運用でない場合、動作環境ファイルのR_LOCKがNOのときには、DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表にアクセスするアプリケーションの占有の単位はDSIになります。

作業領域に関する実行パラメタ

SORT_HASHAREA_SIZE

【指定形式】

SORT_HASHAREA_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理がレコードをハッシングして格納するための領域のサイズです。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、メモリ上のすべてのレコードをハッシングして格納します。

【パラメタの意味】
メモリサイズ:

2112~2097150の範囲で指定します。単位はキロバイトです。

SORT_MEM_SIZE

【指定形式】

SORT_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

ソート処理のデータ量がSORT_MEM_SIZEに指定した値を超えると、二次記憶の作業用ソート領域にデータを書き出し、書き出したデータのソートを行います。このとき、二次記憶からのソートデータの読み込み回数はソートデータの全体量とSORT_MEM_SIZEに指定した値に依存します。このため、ソートデータの全体量に応じて、SORT_MEM_SIZEに指定する値を見積もってください。

ソート処理のデータ量がSORT_MEM_SIZEに指定した値の1万倍以上になると、ソート処理で必要なメモリが不足し、「JYP2221E 実行時の制限値を超えました.code:“4”」のエラーとなる場合があります。ただし、メモリ上の作業域の必要最低限なサイズは、作業用ソート領域へのレコードの格納順に依存するため、SORT_MEM_SIZEに指定した値の1万倍は目安となります。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SORT_MEM_SIZE = (2112)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。

WORK_MEM_SIZE

【指定形式】

WORK_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

作業用テーブルとしてサーバ側で使用するメモリのサイズです。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

本実行パラメタの設定は、“表A.1 性能チューニングのためのパラメタ一覧”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

WORK_MEM_SIZE = (128)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリのサイズを64~2097150の範囲で指定します。単位はキロバイトです。