2

Oracle データベース テーブル属性のシーケンス ジェネレータを作成するための基本的な構文は次のとおりです。

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

NOORDERSEQUENCE 構文の節が何をするのか知りたいです。句を含めるとNOORDER、増分値をランダムに保つシーケンスが得られますか???

4

1 に答える 1

4

これは、並列サーバー モードまたはクラスタで実行する場合に重要です。ORDER は、シーケンス番号が順序付けられていることを保証します。

Example of “noorder” sequence in 10g RAC:

Session 1 on node-A: nextval -> 101
Session 2 on node-A: nextval -> 102
Session 1 on node-B: nextval -> 121
Session 1 on node-B: nextval -> 122
Session 1 on node-A: nextval -> 103
Session 1 on node-A: nextval -> 104

NOORDER を CACHING シーケンスと組み合わせると、この動作になります。ORDER は効果的に CACHE 設定を未使用にします。セッションがシーケンスを取得するときにキャッシングを 10 に設定すると、10 個のシーケンスがキャッシュに取り込まれます。

于 2012-11-27T13:18:00.007 に答える