EVALUATE UNCOMMITTED フィールド( サブシステムパラメータ)EVALUNC

EVALUNC サブシステム・パラメーターは、他のトランザクションのコミットされていないデータについて述部の評価が許可されるかどうかを制御します。 このパラメーターは、分離レベル RS または CS の照会のために 表アクセスを使用するステージ 1 の述部処理だけに適用されます。 表アクセスには、表スペース・スキャン、索引からデータへのアクセス、および RID リスト処理が含まれます。

EVALUNC サブシステム・パラメーターは、照会内の述部、検索条件付き UPDATE ステートメント、および検索条件付き DELETE ステートメントに適用されます。

EVALUNC は、以下のものには適用されません。
  • Db2カタログまたはディレクトリーにアクセスする SQL ステートメント内の述部
  • 内部プロセスでカタログまたはディレクトリー表への照会を行う対象となるデータ定義ステートメント (例えば DROP TABLESPACE)
許容値: NO、YES
デフォルト: いいえ
更新: パネル DSNTIPB のオプション 29
DSNZPxxx : DSN6SPRM EVALUNC
いいえ
コミットされたデータ (またはアプリケーション自体の コミットされていない変更) についてのみ、述部の評価が行われます。 NO の指定により、すべての修飾データが常に応答セットに含まれるようになります。

これはデフォルト値です。

はい
他のトランザクションのコミットされていないデータについて述部の評価を実行できます。 YES を指定すると、データは結果セットから除外される可能性があります。 評価の際には述部が満たされていなくても、その後の取り消し処理 (ROLLBACK またはステートメント の失敗) のため、述部を満たす状態に復帰したデータは、応答セットから欠落します。 値YESを指定すると、Db2は、照会処理中にロックを減らすことができます。 回避されるロックの数は、以下に依存します。
  • 照会のアクセス・パス
  • 述部を満たさないと評価された行の数
  • オーバーフロー・ページにある行数

推奨事項: アプリケーションで、戻されるデータに組み込まれるはずのデータが、取り消し処理 (ROLLBACK またはステートメントの失敗) の結果として誤って除外されてもかまわない場合は、並行性を高めるために YES を指定してください。

このオプションは、コミットされていないデータについて述部の評価を実行できるか どうかを決めますが、コミットされていないデータをアプリケーションに戻すかどうかには影響しません。 分離レベル RS または CS の照会では、コミットされたデータのみが戻されます。 他のトランザクションがコミットされていないデータは、述部の評価が行われた場合でも、決して戻されません。 データが評価時に述部を満たした場合、そのデータは必要に応じてロックされ、述部が必要に応じて 再評価されてから、データがアプリケーションへ戻されます。