为 oracle 数据库表属性创建序列生成器的基本语法是:
CREATE SEQUENCE customers_seq
START WITH 1000
INCREMENT BY 1
NOCACHE
NOCYCLE;
我想知道NOORDER
SEQUENCE 语法中的子句是做什么的?如果我包含该NOORDER
子句,它会给我一个保持增量值随机的序列吗???
在并行服务器模式或集群中运行时,这一点很重要。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 个序列放入其缓存中。