スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

13.14 WITHOUT ROLLBACKオプションの指定

WITHOUT ROLLBACKオプションとは,表に対しての更新処理(追加,削除を含む)の完了を契機に,その更新行に対する排他が解除され,それ以降はロールバックされなくなるオプションのことです。

<この節の構成>
(1) WITHOUT ROLLBACKオプションを指定したときの効果
(2) 適用基準
(3) 注意

(1) WITHOUT ROLLBACKオプションを指定したときの効果

表にWITHOUT ROLLBACKオプションを指定したときの効果を次に示します。

性能の向上
更新処理完了時に排他が解除されるので,排他待ちの発生を削減できます。

(2) 適用基準

採番業務のような,更新処理が集中する表に適しています。

伝票番号や書類番号などの採番業務では,一つの表で番号を管理し,採番するごとにカウントアップするという方法が考えられます。しかし,この方法では処理が集中すると,COMMIT発行まで排他が解除されないため,排他待ちが多く発生することが考えられます。このような処理をする場合,その表にWITHOUT ROLLBACKオプションを指定すると,カウントアップが終了した時点で排他が解除されるため,排他待ちの発生を削減できます。採番業務の例を次の図に示します。

図13-22 採番業務の例

[図データ]

この例では,1行で1種類の番号を管理しています。

図13-22に示した採番管理表の定義例を次に示します。

CREATE TABLE 採番管理表 (種類 NCHAR(4),
                         採番 INT)
                    :
             WITHOUT ROLLBACK

ただし,次に示す要因で欠番が発生する可能性がありますので,欠番が発生しても問題がない業務で使用してください。

(3) 注意