开发指南—Sequence—显示用法—修改Sequence

简介: 本文主要介绍如何对Sequence的各种类型进行修改。

PolarDB-X支持对Sequence的各种类型进行如下修改:

  • 修改Simple Sequence的参数:起始值、步长、最大值、循环或非循环。
  • 修改Group Sequence或单元化 Group Sequence的参数:起始值。
  • 不同类型Sequence间的转换(单元化Group Sequence除外)。

注意事项

在对Sequence的类型进行修改时,您需要注意如下事项:

  • Group Sequence和单元化Group Sequence是非连续的。START WITH参数对于它们仅具有指导意义,Group Sequence和单元化Group Sequence不会严格按照该参数作为起始值,但是保证起始值比该参数大。
  • 单元化Group Sequence不支持转换到其它类型或修改单元化相关的参数。
  • 对于Simple Sequence,如果修改Sequence时指定了START WITH,则会立即生效,下次取Sequence值时会从新的START WITH值开始。比如原先Sequene增长到100,这时把START WITH值改成了200,那么下一次获取的Sequence值就从200开始。
  • 修改START WITH的参数值时,需要仔细评估已经产生的Sequence值,以及生成新Sequence值的速度,防止产生冲突。如非必要,请谨慎修改START WITH参数值。

Group Sequence

语法


ALTER SEQUENCE <name> [ CHANGE TO SIMPLE | TIME ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]

参数说明

参数 说明
START WITH Sequence的起始值,无默认值,若未指定则忽略该参数,在转换类型时必须指定。
INCREMENT BY 仅在将Group Sequence转换为Simple Sequence时有效,是Simple Sequence每次增长时的增量值(或称为间隔值或步长),若未指定,则默认值为1。
MAXVALUE 仅在将Group Sequence转换为Simple Sequence时有效,是Simple Sequence允许的最大值,若未指定,则默认值为有符号长整型(Signed BIGINT)的最大值,即9223372036854775807。
CYCLE 或 NOCYCLE 仅在将Group Sequence转换为Simple Sequence时有效,两者只能选择其一,代表当Simple Sequence值增长到最大值后,是否允许继续循环(即从START WITH重新开始)使用该Simple Sequence,若未指定,则默认值为NOCYCLE。


说明 当修改的目标类型为TIME时,不支持上述参数。

单元化Group Sequence

语法


ALTER SEQUENCE <name>

START WITH <numeric value>

参数说明

参数 说明
START WITH 单元化Group Sequence的起始值,无默认值,若未指定则忽略该参数。


说明 单元化Group Sequence 不支持转换到其它类型或修改单元化相关的参数。

Time-based Sequence

语法


ALTER SEQUENCE <name>[ CHANGE TO GROUP | SIMPLE ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]

参数说明

参数 说明
START WITH Sequence的起始值,无默认值,若未指定则忽略该参数,在转换类型时必须指定。
INCREMENT BY Simple Sequence每次增长时的增量值(或称为间隔值或步长),若未指定,则默认值为1,将Simple Sequence转换为Group Sequence时该参数无效。
MAXVALUE Simple Sequence允许的最大值,若未指定,则默认值为有符号长整型(Signed BIGINT)的最大值,即9223372036854775807,将Simple Sequence转换为Group Sequence时该参数无效。
CYCLE或NOCYCLE 两者只能选择其一,代表当Simple Sequence值增长到最大值后,是否允许继续循环(即仍从START WITH开始)使用该Simple Sequence,若未指定,则默认值为NOCYCLE,将Simple Sequence转换为Group Sequence时该参数无效。

Simple Sequence

语法


ALTER SEQUENCE <name> [ CHANGE TO GROUP | TIME ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]

参数说明

参数 说明
START WITH Sequence的起始值,无默认值,若未指定则忽略该参数,在转换类型时必须指定。
INCREMENT BY Simple Sequence每次增长时的增量值(或称为间隔值或步长),若未指定,则默认值为1,将Simple Sequence转换为Group Sequence时该参数无效。
MAXVALUE Simple Sequence允许的最大值,若未指定,则默认值为有符号长整型(Signed BIGINT)的最大值,即9223372036854775807,将Simple Sequence转换为Group Sequence时该参数无效。
CYCLE 或 NOCYCLE 两者只能选择其一,代表当Simple Sequence值增长到最大值后,是否允许继续循环(即仍从START WITH开始)使用该Simple Sequence,若未指定,则默认值为NOCYCLE,将Simple Sequence转换为Group Sequence时该参数无效。


说明 当修改的目标类型为TIME时,不支持上述参数。

不同类型Sequence间的转换

在对Sequence的不同类型进行转换时,您需要了解如下事项:

  • 通过ALTER SEQUENCECHANGE TO 子句实现。
  • ALTER SEQUENCE如果指定了CHANGE TO子句,则强制必须加上START WITH参数,避免忘记指定起始值而造成取值时得到重复值;若没有CHANGE TO(可选参数),则不强制。
  • 不支持单元化Group Sequence作为源或目标的类型转换。

示例

  • 将Simple Sequence seq4的起始值改为3000,步长改为5,最大值改为1000000,增长到最大值后改为继续循环。语句如下:
mysql> ALTER SEQUENCE seq4 START WITH 3000 INCREMENT BY 5 MAXVALUE 1000000 CYCLE;
  • 将Group Sequence转换为Simple Sequence。
mysql> ALTER SEQUENCE seq1 CHANGE TO SIMPLE START WITH 1000000;
相关文章
|
SQL 分布式计算 监控
Sqoop数据迁移工具使用与优化技巧:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入解析Sqoop的使用、优化及面试策略。内容涵盖Sqoop基础,包括安装配置、命令行操作、与Hadoop生态集成和连接器配置。讨论数据迁移优化技巧,如数据切分、压缩编码、转换过滤及性能监控。此外,还涉及面试中对Sqoop与其他ETL工具的对比、实际项目挑战及未来发展趋势的讨论。通过代码示例展示了从MySQL到HDFS的数据迁移。本文旨在帮助读者在面试中展现Sqoop技术实力。
1008 2
|
存储 缓存 算法
哈希函数:保护数据完整性的关键
哈希函数:保护数据完整性的关键
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理的未来:让机器“听懂”人类语言的奥秘
1. 引言 在数字化浪潮中,自然语言处理(NLP)已经成为人工智能的核心技术之一。无论是智能助手、翻译应用,还是社交媒体的情感分析,NLP正以不可思议的速度改变我们的生活。根据市场研究,NLP的市场规模预计将在未来几年内快速增长,成为众多行业不可或缺的组成部分。本文将深入探讨NLP的基础知识、关键技术、实际应用以及未来的发展趋势,帮助你全面了解这一引人入胜的领域。
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
292 1
|
人工智能 Linux API
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
【AI大模型应用开发】【AutoGPT系列】1. 快速上手 - 运行原生AutoGPT or 利用AutoGPT框架开发自己的Agent
660 0
|
安全 网络协议 NoSQL
对内网服务端口进行扫描
对内网服务端口进行扫描,根据开放的端口服务选择横向的方法。
576 1
|
存储 开发工具 Python
Windows中pycharm最详细安装教程及注意事项
Windows中pycharm最详细安装教程及注意事项
1155 0
Windows中pycharm最详细安装教程及注意事项
|
机器学习/深度学习 并行计算 监控
基于sklearn随机森林算法探究肥胖的成因(一)
基于sklearn随机森林算法探究肥胖的成因
1094 0
基于sklearn随机森林算法探究肥胖的成因(一)
|
数据库
关系代数运算——除法运算
关系代数运算——除法运算
609 0
关系代数运算——除法运算
|
消息中间件 存储 缓存
用了8年MQ!聊聊消息队列的技术选型,哪个最香! 上
用了8年MQ!聊聊消息队列的技术选型,哪个最香! 上