スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
順序数生成子の定義には,CREATE SEQUENCEを使用します。CREATE SEQUENCEについては,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。
順序数生成子の定義例を次に示します。
CREATE SEQUENCE SEQ1..........1
AS INTEGER..................2
START WITH 10...............3
INCREMENT BY 10.............4
MAXVALUE 999................5
MINVALUE 10.................6
CYCLE.......................7
LOG INTERVAL 3..............8
IN RD01.......................9
- [説明]
- 2〜9の条件で順序数生成子SEQ1を定義します。
- データ型
- 開始値
- 増分値
- 最大値
- 最小値
- 循環指定
増分値10,最小値10,最大値999で,最大値の次の値が最小値となるように値を循環させます。
- ログ出力間隔
- 格納先RDエリア名
- 注意事項
- 循環指定をした場合,順序数生成子が循環すると順序番号に重複が発生します。
- <この項の構成>
- (1) 順序数生成子格納RDエリアの指定
- (2) ログ出力間隔の指定
(1) 順序数生成子格納RDエリアの指定
順序数生成子の定義時,順序数生成子の格納先として,次に示す条件を満たしたRDエリアを指定できます。
- 定義されている表と順序数生成子の合計が500未満のRDエリア
- 閉塞していないRDエリア
- 注意事項
- HiRDB/パラレルサーバの場合,順序数生成子と順序数生成子を使用する表(サーバ間分割していない表)が別々のサーバに格納されているときは,順序数生成子を使用するたびに通信が発生して,処理性能が低下します。サーバ間分割している表の場合,順序数生成子と順序数生成子を使用する表を同じサーバのRDエリアに格納することで,通信回数を軽減できることがあります。そのため,順序数生成子と順序数生成子を使用する表は同じサーバのRDエリアに格納することを推奨します。
(2) ログ出力間隔の指定
順序数生成子の定義時,ログの出力間隔を指定することで,処理性能が向上します。
順序数生成子に関するログは,次の契機で出力されます。
- 順序数生成子を定義してから最初にNEXT VALUE式を使用したとき
- 順序番号の取得回数がログ出力間隔に達したとき
ログ出力間隔を指定した例を次の図に示します。
- 注意事項
- 順序数生成子のログ出力間隔を小さく設定すると,システム障害発生時の欠番は少なくなりますが,ログの出力回数が多くなるので性能が低下します。ログ出力間隔を大きく設定すると,システム障害発生時の欠番が多くなりますが,ログの出力回数が少なくなるので性能は向上します。
- 欠番が発生した場合,最大でログ出力間隔に指定した値の分だけ欠番が発生します。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.