機能
現在の動作環境を変更する機能です。
CHANGE ENVを実行すると、それ以前に実行した以下の制御文は無効になります。
ACCESS PLAN文
SET CATALOG文
SET SCHEMA文
SET SESSION AUTORIZATION文
SET TRANSACTION文
SNAP文
SQL TRACE文
また、トランザクションが継続中の場合は、CHANGE ENV文が実行されるとそのトランザクションは終了され、ロールバックされます。トランザクションの扱いには注意してください。
記述形式
CHANGE ENV パラメタ指定[,パラメタ指定...]
変更するパラメタを指定します。
一般規則
CHANGE ENV文により設定したパラメタの値は、rdbexecsqlコマンドを終了させるか、または再びCHANGE ENV文により変更するまで有効です。
インデックスを使用しないアクセスプランを選択するか否か
ジョインする方法
結合表と他の表のジョイン順
データベースを並列に検索する場合の多重度
アプリケーション単位またはコネクション単位にデータベースを並列に検索するか否か
排他の単位を行とします
四則演算の検索範囲について、インデックス範囲検索、または、クラスタキーの検索を行うか否か
探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か
ソート処理がレコードをハッシングして格納するための領域のサイズ
作業用ソート領域として使うメモリサイズ
述語ごとの検索範囲の選択率の値
インデックス検索と表データ取得のアクセスモデルでTIDソートを利用するか否か
TIDユニオンマージのアクセスモデルを有効にするか否か
UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード
作業用テーブルとして使うメモリサイズ
上記のパラメタは、システム用の動作環境ファイル、クライアント用の動作環境ファイルおよびサーバ用の動作環境ファイルに指定することができます。
注意
IGNORE_INDEXおよびPARALLEL_SCANはシステム用の動作環境ファイルに記述することはできません。
R_LOCKは、サーバ用の動作環境ファイルに記述することはできません。
参照
以下のパラメタに関する詳細は、“アプリケーション開発ガイド(共通編)”を参照してください。
MAX_PARALLEL
PARALLEL_SCAN
R_LOCK
SORT_MEM_SIZE
WORK_MEM_SIZE
また、WebAdminまたはGUIでセットアップした場合、以下のパラメタは本節で説明しているパラメタの値と異なります。
JOIN_ORDER
R_LOCK
USQL_LOCK
参照
WebAdminまたはGUIでセットアップした場合のパラメタの詳細については、“セットアップガイド”の“セットアップ時の省略値”を参照してください。
注意
ASSIST指定を指定した場合、CHANGE ENV文または動作環境ファイルで設定した以下のパラメタよりもASSIST指定が優先されます。
IGNORE_INDEX
JOIN_RULE
JOIN_ORDER
SCAN_KEY_ARITHMETIC_RANGE
SCAN_KEY_CAST
SS_RATE
TID_SORT
TID_UNION
IGNORE_INDEX = ({YES | NO})
データベースを検索するときに、インデックスを使用しないアクセスプランを選択するか否かを指定します。データウェアハウジングにおいて大量のデータを検索および集計する場合には、インデックスだけではデータが絞りきれず、インデックスを使う分だけ無駄なオーバヘッドが発生することがあります。このような場合は、当パラメタにYESを指定することにより、表の全件検索または並列スキャンのアクセスモデルを採用します。省略値はNOです。
ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、IGNORE_INDEXの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。
インデックスを使用しないアクセスプランを選択します。
インデックスが使用できるときは、インデックスを使用したアクセスプランを選択します。
JOIN_RULE = ({AUTO | MERGE | FETCH})
ジョインする方法を指定します。省略値はAUTOです。
ただし、SQL文にASSIST指定のJOIN_RULEを指定した場合、ASSIST指定が優先され、JOIN_RULEの指定に関わらず、ASSIST指定に指定されたジョイン方法に従います。
Symfoware/RDBが自動的に選択します。
マージジョインのアクセスモデルを優先します。
フェッチジョインのアクセスモデルを優先します。
JOIN_ORDER = ({AUTO | INSIDE | OUTSIDE})
結合表と他の表をジョインする場合のジョイン順を指定します。省略値はINSIDEです。
ただし、SQL文にASSIST指定のLEADING_TABLEを指定した場合、ASSIST指定が優先され、JOIN_ORDERの指定に関わらず、ASSIST指定に指定されたジョイン順に従います。
Symfoware/RDBが自動的に選択します。
結合表から先にジョインします。
結合表の中に指定した表と結合表の外に指定した表から先にジョインします。
SCAN_KEY_ARITHMETIC_RANGE = ({YES | NO})
四則演算の検索範囲について、インデックス範囲検索やクラスタキーの検索を行います。省略値はYESです。
ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SCAN_KEY_ARITHMETIC_RANGEの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。
四則演算の検索埴について、インデックス範囲検索、または、クラスタキーの検索を行う。
四則演算の検索埴について、インデックス範囲検索、または、クラスタキーの検索を行わない。
SCAN_KEY_CAST = ({YES | NO})
インデックス構成列やクラスタキーが、WHERE句またはON句のCASTに指定されてもインデックスの範囲検索やクラスタキー検索を行います。省略値はYESです。
ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SCAN_KEY_CASTの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。
探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行う。
探索条件に指定したインデックスキーまたは、クラスタキーで範囲検索を行う。
SORT_HASHAREA_SIZE = (メモリサイズ)
ソート処理がレコードをハッシングして格納するための領域のサイズです。2112~2097150の範囲で指定します。単位はキロバイトです。省略した場合は、メモリ上のすべてのレコードをハッシングして格納します。
SS_RATE = ([選択率1][,[選択率2][,[選択率3][,[選択率4][,[選択率5]]]]])
BETWEEN述語、比較述語、LIKE述語およびCONTAINS関数でインデックスを検索するとき、インデックスの検索範囲の割合を指定します。小数点付きの小数(0≦n≦1)の範囲を指定します。値は、0以上1以下の小数を指定してください。小数第6位まで指定できます。
ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、SS_RATEの割合に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。
BETWEEN述語を指定した場合のインデックスの検索範囲。省略値は、0.2
比較述語“>”、“>=”、と“<”、“<=”でインデックスの検索開始位置および検索終了位置の両方が指定されている場合のインデックスの検索範囲。省略値は、0.25
比較述語“>”、“>=”、“<”、“<=”でインデックスの検索開始位置または検索終了のみが指定されている場合のインデックスの検索範囲。省略値は、0.5
LIKE述語を指定した場合のインデックスの検索範囲。省略値は、0.4
CONTAINS関数を指定した場合のインデックスの検索範囲。省略値は、0.0001
TID_SORT = ({YES | NO})
インデックス検索と表データ取得のアクセスモデルにおいて、TIDソートを利用するか否かを指定します。省略値はYESです。
ただし、SQL文にASSIST指定のFIRST_ROWSを指定した場合、ASSIST指定が優先され、TID_SORTの指定に関わらず、TIDソートを利用しません。
TIDソートを利用します。
TIDソートを利用しません。
使用例
SQL>CHANGE ENV SORT_MEM_SIZE=(1024),R_LOCK=(YES)