Hitachi

ノンストップデータベース HiRDB Version 9 UAP開発ガイド


4.19.2 順序数生成子の定義

順序数生成子の定義には,CREATE SEQUENCEを使用します。CREATE SEQUENCEについては,マニュアル「HiRDB Version 9 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
[説明]
  1. 2〜9の条件で順序数生成子SEQ1を定義します。

  2. データ型

  3. 開始値

  4. 増分値

  5. 最大値

  6. 最小値

  7. 循環指定

    増分値10,最小値10,最大値999で,最大値の次の値が最小値となるように値を循環させます。

  8. ログ出力間隔

  9. 格納先RDエリア名

注意事項

循環指定をした場合,順序数生成子が循環すると順序番号に重複が発生します。

〈この項の構成〉

(1) 順序数生成子格納RDエリアの指定

順序数生成子の定義時,順序数生成子の格納先として,次に示す条件を満たしたRDエリアを指定できます。

注意事項
  • HiRDB/パラレルサーバの場合,順序数生成子と順序数生成子を使用する表(サーバ間分割していない表)が別々のサーバに格納されているときは,順序数生成子を使用するたびに通信が発生して,処理性能が低下します。サーバ間分割している表の場合,順序数生成子と順序数生成子を使用する表を同じサーバのRDエリアに格納することで,通信回数を軽減できることがあります。そのため,順序数生成子と順序数生成子を使用する表は同じサーバのRDエリアに格納することを推奨します。

  • 順序数生成子格納RDエリアに対してインナレプリカ機能は使用できません。

(2) ログ出力間隔の指定

順序数生成子の定義時,ログの出力間隔を指定することで,処理性能が向上します。

順序数生成子ログは,次の契機で出力されます。

ログ出力間隔を指定した例を次の図に示します。

[図データ]

注意事項
  • 順序数生成子のログ出力間隔を小さく設定すると,システム障害発生時の欠番は少なくなりますが,ログの出力回数が多くなるので性能が低下します。ログ出力間隔を大きく設定すると,システム障害発生時の欠番が多くなりますが,ログの出力回数が少なくなるので性能は向上します。

  • 欠番が発生した場合,最大でログ出力間隔に指定した値の分だけ欠番が発生します。