为oracle数据库表属性创建序列生成器的基本语法是:
CREATE SEQUENCE customers_seq
START WITH 1000
INCREMENT BY 1
NOCACHE
NOCYCLE;
我想知道SEQUENCE语法中NOORDER
子句的作用是什么?如果我包含NOORDER
子句,它会给我一个序列,保持增量值随机???
答案 0 :(得分: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个序列进入它的缓存。