Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


3.4.5 無排他条件判定

無排他条件判定は,検索処理時には排他を掛けないで,探索条件を満たした行,又はキー値に対してだけ排他を掛けます。無排他条件判定を使用すると通常の検索と比べて,探索条件を満たさない行,又はキー値に対して排他を掛けないため,検索時間が短縮できます。

また,更新処理と同時に検索処理を実行する場合,相手の更新処理が条件を満たさない行の更新,又は追加であれば,排他待ちが発生しません。このため,デッドロックや排他タイムアウトの発生が低減できます。

通常の検索処理と無排他条件判定の処理の流れを次の図に示します。

図3‒15 通常の検索処理と無排他条件判定の処理の流れ

[図データ]

無排他条件判定をするには,クライアント環境定義のPDLOCKSKIPオペランドでYESを指定します。

無排他条件判定は次に示す条件を満たす場合に効果が得られます。

また,次に示す条件の場合に無排他条件判定を使用しても適用されません。

なお,無排他条件判定は,排他を掛けないで条件判定をするため,コミットしていないデータを検索して条件判定するおそれがあります。例えば,更新トランザクションと同時に条件判定するとき,条件判定での検索結果と,更新トランザクションの処理結果との間に差異が発生することがあるので注意が必要です。