更新时间:2024-07-30 GMT+08:00

全局序列概述

全局序列主要指基于DB的全局序列。

  • 支持修改自增序列初始值。
  • 全局序列主要保证ID全局唯一,并不能保证一定是连续递增的。
  • 对使用DDM自增序列,不允许用户传null值以外的值,当用户不传或传null值时,DDM会默认分配,如果用户手工赋值会有和DDM分配自增键值冲突的风险。
表1 全局序列支持的表类型

表类型

拆分表

广播表

单表

基于DB的全局序列

支持

支持

不支持

创建自增序列

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 连接成功后,打开目标逻辑库。
  3. 输入命令创建自增序列。

    create sequence <序列名> ;

    • 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据类型不建议作为自增键的类型,容易越界造成值重复。
    • 通过“show sequences”命令可查看自增序列的使用率。如果使用率已达到或接近100%,请不要再插入数据,联系DDM客服人员进行处理。

删除自增序列

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 连接成功后,打开目标逻辑库。
  3. 输入命令“show sequences”查看所有序列。
  4. 输入命令删除序列。

    drop sequence <序列名> ;

    drop sequence DB.***

    • 对大小写不敏感。
    • 如果序列属于某张表格(即创建这张表时有一列是自增列),不允许删除。

修改自增序列初始值

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 连接成功后,打开目标逻辑库。
  3. 输入“show sequences”查看所有序列。
  4. 输入命令修改序列起始值。

    alter sequence <序列名> START WITH <目标序列起始值>;

查询自增序列

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 连接成功后,打开目标逻辑库。
  3. 输入如下命令,查看所有序列。

    show sequences;

修改自增序列Cache

该功能仅支持内核3.0.3以上的版本。

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 连接成功后,打开目标逻辑库。
  3. 输入如下命令,修改表test的全局序列的cache值。

    alter sequence test cache 5000

  4. 输入如下命令,查看test序列的INCREMENT值即是cache值。

    show sequences

刷新实例所有表自增序列

该功能仅支持内核3.0.4.1以上的版本。

  1. 连接DDM实例。

    连接方法具体请参考连接DDM实例

  2. 输入如下命令,更改所有逻辑库的所有Sequence。

    fresh all sequence start value