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 回答