Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » トランザクションと独立性レベルの使用

 

ロックの仕組み

データベース・サーバがトランザクションを処理するとき、テーブルのローを 1 つまたは複数ロックできます。ロックは他のトランザクションが同時にアクセスすることを防止し、データベースに格納されている情報の信頼性を維持します。また、更新中の情報を識別して、結果クエリの精度を高めます。

データベース・サーバは自動的にこれらのロックを設定するので、明示的な指示は必要ありません。あるトランザクションによって獲得されたすべてのロックは、たとえば COMMIT 文または ROLLBACK 文によってそのトランザクションが完了するまでデータベース・サーバで保持されます。このルールには 1 つだけ例外がありますが、読み込みロックの早期解放の項で説明します。

ローにアクセスしているトランザクションは、ロックを保持しているといえます。ロックの種類により、他のトランザクションのそのローへのアクセスは限定されるか、まったくできなくなります。


ロックできるオブジェクト
ロック情報の取得
スキーマ・ロック
ロー・ロック
テーブル・ロック
位置ロック
ロックの競合
クエリ時のロック
挿入時のロック
更新時のロック
削除時のロック
読み込みロックの早期解放