オプティミスティック・ロックの概要

拡張オプティミスティック・ロック・サポートは、SQL データベース・アプリケーションのための技法を提供しており、この技法では行の選択と更新または削除の間の行ロックを保持しません。

アンロックされた行は更新または削除前に変更される可能性はまずないと想定して、アプリケーションを楽観的に書くことができます。 行が変更される場合、更新または削除は失敗し、アプリケーションの論理はそのような障害を、例えば選択を再試行することによって処理できます。

この拡張オプティミスティック・ロックの利点は、他のアプリケーションが同じ行を同時に読み取り/書き込みできるので、並行性が向上することです。 ビジネス・トランザクションがデータベース・トランザクションに相関していない 3 層環境では、このオプティミスティック・ロック技法が使用されます。なぜなら、こうした環境ではロックをビジネス・トランザクション間で維持できないからです。

表 1 に、各カテゴリーの関連トピックをリストします。

注: オプティミスティック・ロックのトピックでは、行が挿入または更新されると参照されるたびに、行が表に挿入されたり、何らかの方法で更新されたりする可能性があるすべての形式の SQL ステートメントを参照します。 例えば、INSERT、UPDATE、MERGE、または DELETE ステートメント (参照制約付き) はすべて、タイム・スタンプ列が作成または更新されるようにすることができます。