Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編
目次 索引 前ページ次ページ

第7章 応用プログラムとトランザクション処理

7.6 資源の競合が起きた場合の制御

資源の競合が起きた場合に、どのタイミングまで占有待ちとなるのかは、トランザクションモードの指定によって異なります。以下に、トランザクションモードの指定と資源の占有について示します。

 

先行トランザクション

独立性水準

SERIALIZABLE

REPEATABLE READ

READ COMMITTED

READ UNCOMMITTED

SQL文の種類

SELECT

INSERT

UPDATE

DELETE

SELECT

INSERT

UPDATE

DELETE

SELECT

INSERT

UPDATE

DELETE

SELECT

後続トランザクション

独立性水準

SQL文の種類

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SERIALIZABLE

SELECT

 

×

×

×

×

×

×

×

×

×

INSERT

 

×

×

×

×

×

×

×

×

×

×

×

UPDATE

 

×

×

×

×

×

×

×

×

×

×

×

DELETE

 

×

×

×

×

×

×

×

×

×

×

×

REPEATABLE READ

SELECT

 

×

×

×

×

×

×

×

×

×

INSERT

 

×

×

×

×

×

×

×

×

×

×

×

UPDATE

 

×

×

×

×

×

×

×

×

×

×

×

DELETE

 

×

×

×

×

×

×

×

×

×

×

×

READ COMMITTED

SELECT

 

×

×

×

×

×

×

×

×

×

INSERT

 

×

×

×

×

×

×

×

×

×

×

×

UPDATE

 

×

×

×

×

×

×

×

×

×

×

×

DELETE

 

×

×

×

×

×

×

×

×

×

×

×

READ UNCOMMITTED

SELECT

 

○: 待つことなく動作する

△: 先行トランザクションのSQL文が以下のいずれかの場合は、先行トランザクションのSQL文の終了を待つ

- 単一行SELECT文

- 更新可能性句に、FOR READ ONLYを指定したカーソルのOPEN文

- トランザクションアクセスモードが読込み専用モードのときのOPEN文 先行トランザクションのSQL文が上記以外の場合は、トランザクションの終了を待つ

×: トランザクションの終了を待つ

先行トランザクションがカーソルのOPEN文を実行した場合は、カーソル宣言の更新可能性句の指定によって占有待ちの制御が異なります。

更新可能性句がREAD ONLYの場合は、SELECT文と同じになります。更新可能性句がFOR UPDATEの場合は、UPDATE文と同じになります。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006