変数名 | オペレーティング・システム | 値 |
---|---|---|
説明 | ||
DB2_BINSORT | すべて | デフォルト=NO
値: YES または NO |
ソートの CPU 時間および経過時間を短縮する新しいソート・アルゴリズムを使用可能にします。この新しいアルゴリズムは、DB2 UDB の非常に効率的なソート技法を、BIGINT、CHAR、VARCHAR、
FLOAT、および DECIMAL などのすべてのソート・データ・タイプおよびこれらのデータ・タイプの組み合わせにも使用できるように拡張します。この新しいアルゴリズムを使用可能にするには、以下のコマンドを使用します。
db2set DB2_BINSORT = yes | ||
DB2_BLOCK_BASED_BP | Solaris | Default=None
値: パラメーターによって異なります |
バッファー・プール内にブロック域を作成するために必要な値を指定します。バッファー・プールの ID は必要であり、SYSCAT.BUFFERPOOLS システム・カタログ視点の BUFFERPOOLID 列を調べればわかります。バッファー・プール内でブロック・ベースの入出力に割り振られるページ数を指定する必要があります。ブロックに含まれるページ数はオプションで、デフォルト値は 32 です。
このレジストリー変数の使用のフォーマットは次の通りです。
DB2_BLOCK_BASED_BP=BUFFER POOL ID,BLOCK AREA SIZE,[BLOCK SIZE];...
セミコロンで項目を分離して同じ変数を使用することで、複数のバッファー・プールをブロック・ベースとして定義できます。
BLOCK SIZE の値は、2 〜 256 の範囲を取る可能性があります。BLOCK SIZE を指定しないと、デフォルトの 32 が使用されます。
指定された BLOCK AREA SIZE がバッファー・プール・サイズの合計の 98% より大きい場合は、バッファー・プールはブロック・ベースで作成されません。バッファー・プールのページ・ベースの領域に常にバッファー・プールの一部を持つことをお勧めします。これは、システム上の入出力の大半が順次プリフェッチであっても、個々のページが必要になる可能性があるからです。BLOCK AREA SIZE に指定された値が BLOCK SIZE の倍数でない場合は、最も近いブロック・サイズ境界に削減されます。ブロック・ベースの入出力について詳しくは 10.2.1, ブロック・ベースのバッファー・プール を参照してください。 | ||
DB2_NO_FORK_CHECK | UNIX | デフォルト=OFF
値: ON または OFF |
この変数が "ON" の場合、クライアント・プロセスは、アプリケーションが実行プロセスをコピーする (fork する) のを防止しません。fork が行われると、結果は予測できません。結果に影響がない場合もあれば、悪い結果を導いたり、エラー・コードが戻されたり、アプリケーションでトラップが生じたりする可能性もあります。アプリケーションが fork しないと確信しており、パフォーマンスをより向上させたい場合に、この変数を "ON" に変更するようにしてください。 | ||
DB2_MINIMIZE_LIST_PREFETCH | すべて | デフォルト=NO
値: YES または NO |
List Prefetch は、該当する RID を索引から検索し、それをページ番号によってソートし、そしてデータ・ページをプリフェッチする、特殊な表アクセス方式です。
最適化プログラムは、List Prefetch が適切なアクセス方式であるかどうか判別するための正確な情報を持っていないことがあります。これは、述部の選択性に、最適化プログラムが選択性を判断するためにカタログ統計を使用することを妨げる、パラメーター・マーカーやホスト変数が含まれている場合に起こる可能性があります。
このレジストリー変数は、最適化プログラムがこのような状態で List Prefetch を考慮しないようにします。 | ||
DB2_INLIST_TO_NLJN | すべて | デフォルト=NO
値: YES または NO |
SQL コンパイラーが IN リスト述部を結合 (join) に書き換えることができる場合があります。たとえば、以下のような照会があるとします。
SELECT * FROM EMPLOYEE WHERE DEPTNO IN ('D11', 'D21', 'E21')これを、以下のように書くことができます。
SELECT * FROM EMPLOYEE, (VALUES 'D11', 'D21', 'E21) AS V(DNO) WHERE DEPTNO = V.DNO
この改訂は、DEPTNO に索引がある場合に、パフォーマンスが向上します。値のリストが最初にアクセスされ、索引を使用してネスト・ループ結合 (join) で EMPLOYEE に結合 (join) されて、結合 (join) 述部に適用されます。
最適化プログラムは、書き換えられたバージョンの照会に最適な結合 (join) 方式を判別するための正確な情報を持っていないことがあります。これは、IN リストに、最適化プログラムが選択性を判断するためにカタログ統計を使用することを妨げる、パラメーター・マーカーやホスト変数が含まれている場合に起こる可能性があります。このレジストリー変数によって、最適化プログラムは、IN リストに役立つ表を結合 (join) の内部表として使用して、値のリストを結合 (join) する際にネスト・ループ結合 (join) を使用するようになります。 |
|DB2_NEWLOGPATH2 レジストリー変数は、すべてのオペレーティング・システムで使用できます。新規変数、DB2_ROLLFORWARD_NORETRIEVE
|が導入されました。両方の変数に関する正しい情報を以下に示します。
|
|新規変数、DB2_REDUCED_OPTIMIZATION が導入されました。
|
変数名 | オペレーティング・システム | 値 |
---|---|---|
説明 | ||
DB2_REDUCED_OPTIMIZATION | すべて | デフォルト=NO
値: YES、NO、または整数 |
レジストリー変数により、特定の最適化レベルで使用される最適化手法をいくつか使用不可にします。使用する最適化手法の数を減らすと、最適化を行うのに使用する時間とリソースも削減されます。
最適化レベル 5 の動的最適化縮小は、管理者の手引き: パフォーマンスの「最適化クラス」に説明があるように、 DB2_REDUCED_OPTIMIZATION が整数に設定された場合の動作と同様に、「YES」に設定され、最適化レベル 5 の場合の動作よりも優先順位が高くなります。 |