Hitachi

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


4.19.2 順序数生成子の定義

順序数生成子の定義には,CREATE SEQUENCEを使用します。CREATE SEQUENCEについては,マニュアル「HiRDB 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) ログ出力間隔の指定

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

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

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

[図データ]

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

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