关于Sequence中的Order选项 【基础】

来源:互联网 发布:交通大数据的开发 编辑:程序博客网 时间:2024/06/14 17:32

DB2 官方文档中并没有对此选项做出很好的解释,我们看看Oracle的这个选项:

CREATE SEQUENCE command PURPOSE:     To create a sequence. A sequence is a database object from which     multiple users may generate unique integers. You can use sequences     to automatically generate primary key values. SYNTAX: CREATE SEQUENCE [schema.]sequence     [INCREMENT BY integer]     [START WITH integer]     [MAXVALUE integer | NOMAXVALUE]     [MINVALUE integer | NOMINVALUE]     [CYCLE | NOCYCLE]     [CACHE integer | NOCACHE]     [ORDER | NOORDER] where: schema     is the schema to contain the sequence. If you omit schema, Oracle     creates the sequence in your own schema. sequence     is the name of the sequence to be created. INCREMENT BY     specifies the interval between sequence numbers. This value can be     any positive or negative Oracle integer, but it cannot be 0. If     this value is negative, then the sequence descends. If the     increment is positive, then the sequence ascends. If you omit this     clause, the interval defaults to 1. MINVALUE     specifies the sequence's minimum value. NOMINVALUE     specifies a minimum value of 1 for an ascending sequence or -10     for a descending sequence.     The default is NOMINVALUE. MAXVALUE     specifies the maximum value the sequence can generate. NOMAXVALUE     specifies a maximum value of 10     for a descending sequence. The default is NOMAXVALUE. START WITH     specifies the first sequence number to be generated. You can use     this option to start an ascending sequence at a value greater than     its minimum or to start a descending sequence at a value less than     its maximum. For ascending sequences, the default value is the     sequence's minimum value. For descending sequences, the default     value is the sequence's maximum value. CYCLE     specifies that the sequence continues to generate values after     reaching either its maximum or minimum value. After an ascending     sequence reaches its maximum value, it generates its minimum value.     After a descending sequence reaches its minimum, it generates its     maximum. NOCYCLE     specifies that the sequence cannot generate more values after     reaching its maximum or minimum value.     The default is NOCYCLE. CACHE     specifies how many values of the sequence Oracle preallocates and     keeps in memory for faster access. The minimum value for this     parameter is 2. For sequences that cycle, this value must be less     than the number of values in the cycle. NOCACHE     specifies that values of the sequence are not preallocated.     If you omit both the CACHE parameter and the NOCACHE option, Oracle     caches 20 sequence numbers by default. However, if you are using     Oracle with the Parallel Server option in parallel mode and you     specify the ORDER option, sequence values are never cached,     regardless of whether you specify the CACHE parameter or the NOCACHE     option. ORDER     guarantees that sequence numbers are generated in order of request.     You may want to use this option if you are using the sequence     numbers as timestamps. Guaranteeing order is usually not important     for sequences used to generate primary keys. NOORDER     does not guarantee sequence numbers are generated in order of     request.     If you omit both the ORDER and NOORDER options, Oracle chooses     NOORDER by default. Note that the ORDER option is only necessary to     guarantee ordered generation if you are using Oracle with the     Parallel Server option in parallel mode. If you are using exclusive     mode, sequence numbers are always generated in order. PREREQUISITES:     To create a sequence in your own schema, you must have CREATE     SEQUENCE privilege.     To create a sequence in another user's schema, you must have CREATE     ANY SEQUENCE privilege. If you are using Trusted Oracle in DBMS MAC     mode, your DBMS label must dominate the creation label of the owner     of the schema to contain the sequence. 
注意这行
    If you omit both the ORDER and NOORDER options, Oracle chooses     NOORDER by default. Note that the ORDER option is only necessary to     guarantee ordered generation if you are using Oracle with the     Parallel Server option in parallel mode. If you are using exclusive     mode, sequence numbers are always generated in order. 


我们可以看出这个选项是对于并行系统而已确保sequence的in order,如果是单机sequence都是in order的。

原创粉丝点击