数据仓库服务 GAUSSDB(DWS)-CREATE SEQUENCE:参数说明

时间:2024-01-26 16:15:18

参数说明

  • name

    将要创建的序列名称。

    取值范围:仅可以使用小写字母(a~z)、 大写字母(A~Z),数字和特殊字符"#","_","$"的组合。

  • increment

    指定序列的步长。一个正数将生成一个递增的序列,一个负数将生成一个递减的序列。

    缺省值:1。

  • MINVALUE minvalue | NO MINVALUE| NOMINVALUE

    执行序列的最小值。如果没有声明minvalue或者声明了NO MINVALUE,则递增序列的缺省值为1,递减序列的缺省值为-263-1。

    NOMINVALUE等价于NO MINVALUE

  • MAXVALUE maxvalue | NO MAXVALUE| NOMAXVALUE

    执行序列的最大值。如果没有声明maxvalue或者声明了NO MAXVALUE,则递增序列的缺省值为263-1,递减序列的缺省值为-1。

    NOMAXVALUE等价于NO MAXVALUE

  • start

    指定序列的起始值。

    缺省值:对于递增序列为minvalue,递减序列为maxvalue。

  • cache

    为了快速访问,而在内存中预先存储序列号的个数。一个缓存周期内,CN不再向GTM索取序列号,而是使用本地预先申请的序列号。

    缺省值为1,表示一次只能生成一个值,也就是没有缓存。

    • 不建议同时定义cache和maxvalue或minvalue。因为定义cache后不能保证序列的连续性,可能会产生空洞,造成序列号段浪费。
    • 建议cache值不要设置过大,否则会出现缓存序列号时(每个cache周期的第一个nextval)耗时过长的情况;同时建议cache值小于100000000。实际使用时应根据业务设置合理的cache值,既能保证快速访问,又不会浪费序列号。
  • CYCLE

    用于使序列达到maxvalue或者minvalue后可循环并继续下去。

    如果声明了NO CYCLE,则在序列达到其最大值后任何对nextval的调用都会返回一个错误。

    NOCYCLE的作用等价于NO CYCLE。

    缺省值为NO CYCLE。

    若定义序列为CYCLE,则不能保证序列的唯一性。

  • OWNED BY-

    将序列和一个表的指定字段进行关联。这样,在删除那个字段或其所在表的时候会自动删除已关联的序列。关联的表和序列的所有者必须是同一个用户,并且在同一个模式中。需要注意的是,通过指定OWNED BY,仅仅是建立了表的对应列和Sequence之间关联关系,并不会在插入数据时在该列上产生自增序列。

    缺省值为OWNED BY NONE,表示不存在这样的关联。

    通过OWNED BY创建的Sequence不建议用于其他表,如果希望多个表共享Sequence,该Sequence不应该从属于特定表。

support.huaweicloud.com/sqlreference-820-dws/dws_06_0174.html