OrientDB-シーケンス
Sequencesは自動インクリメントメカニズムで使用される概念であり、OrientDBv2.2で導入されています。データベースの用語では、シーケンスはカウンターフィールドを管理する構造です。簡単に言うと、シーケンスは、常に増分する数値が必要な場合に主に使用されます。2つのタイプをサポートします-
ORDERED −ポインタが新しい値を返す.nextメソッドを呼び出すたび。
CACHED−シーケンスは、各ノードの「N」アイテムをキャッシュします。私たちが使用する各アイテムを呼び出すために.next()、これは、キャッシュに複数のアイテムが含まれている場合に推奨されます。
シーケンスの作成
シーケンスは通常、人のID値を自動インクリメントするために使用されます。OrientDBの他のSQL概念と同様に、RDBMSのシーケンスと同様の操作を実行します。
次のステートメントは、シーケンスを作成するための基本的な構文です。
CREATE SEQUENCE <sequence> TYPE <CACHED|ORDERED> [START <start>]
[INCREMENT <increment>] [CACHE <cache>]
上記の構文のオプションの詳細は次のとおりです。
<Sequence> −シーケンスのローカル名。
TYPE −シーケンスタイプORDEREDまたはCACHEDを定義します。
START −初期値を定義します。
INCREMENT −各.nextメソッド呼び出しの増分を定義します。
CACHE −シーケンスタイプをキャッシュするために使用した場合に、プリキャッシュする値の数を定義します。
番号1201で始まる「seqid」という名前のシーケンスを作成しましょう。次のクエリを試して、この例をシーケンスで実装します。
CREATE SEQUENCE seqid START 1201
上記のクエリが正常に実行されると、次の出力が得られます。
Sequence created successfully
次のクエリを試して、シーケンス 'seqid'を使用してAccountテーブルのid値を挿入します。
INSERT INTO Account SET id = sequence('seqid').next()
上記のクエリが正常に実行されると、次の出力が得られます。
Insert 1 record(s) in 0.001000 sec(s)
シーケンスの変更
シーケンスの変更は、シーケンスのプロパティを変更するために使用されるコマンドです。シーケンスタイプを除くすべてのシーケンスオプションを変更します。
次のステートメントは、シーケンスを変更するための基本的な構文です。
ALTER SEQUENCE <sequence> [START <start-point>]
[INCREMENT <increment>] [CACHE <cache>]
上記の構文のオプションの詳細は次のとおりです。
<Sequence> −変更するシーケンスを定義します。
START −初期値を定義します。
INCREMENT −各.nextメソッド呼び出しの増分を定義します。
CACHE −シーケンスタイプのキャッシュに使用した場合にプリキャッシュする値の数を定義します。
次のクエリを試して、seqidという名前のシーケンスの開始値を「1201から1000」に変更します。
ALTER SEQUENCE seqid START 1000
上記のクエリが正常に実行されると、次の出力が得られます。
Altered sequence successfully
ドロップシーケンス
ドロップシーケンスは、シーケンスをドロップするために使用されるコマンドです。
次のステートメントは、シーケンスを削除するための基本的な構文です。
DROP SEQUENCE <sequence>
どこ <Sequence> ドロップするシーケンスを定義します。
次のクエリを試して、「seqid」という名前のシーケンスを削除します。
DROP SEQUENCE seqid
上記のクエリが正常に実行されると、次の出力が得られます。
Sequence dropped successfully