开发指南—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;
相关文章
|
机器学习/深度学习 自动驾驶 算法
深度学习在图像识别中的应用与发展
本文将深入探讨深度学习技术在图像识别领域的应用,通过案例分析展示其最新进展。我们将从基本原理出发,了解深度学习如何改变图像处理和识别的方式,并展望其未来可能的发展方向。
|
11月前
|
机器学习/深度学习 自然语言处理 语音技术
ChatTTS大模型在广播电视领域的应用实例
本文介绍了基于ChatTTS大模型的文字转语音工具,该工具结合现代文本处理和语音合成技术,提供高效的音频生成解决方案。文章详细描述了工具的主要功能,包括文本输入、语音选择、语速调整等,并探讨了其在广播电视行业的应用前景,如新闻播报、广告制作和教育培训等领域。未来,该工具将集成更多高级功能,以满足行业需求。
337 9
|
网络协议 算法 数据库
|
11月前
|
敏捷开发 人工智能 数据可视化
未来趋势:智能化需求管理的发展与挑战
在快速变化的商业环境中,有效需求管理对项目成功至关重要。本文从核心原则、策略、工具推荐及实践案例出发,深入探讨高效需求管理体系的构建,特别介绍了板栗看板的应用,为企业和个人提供有价值的参考。
|
12月前
|
人工智能 运维 安全
阿里云研发副总裁蔡德忠受邀参加乌镇峰会,畅谈AI与下一代互联网
2024年乌镇峰会“下一代互联网论坛”近日举办,主题为“创新驱动,安全赋能,共筑开放与安全的下一代互联网”。阿里云智能集团研发副总裁,基础设施网络研发负责人蔡德忠受邀参与圆桌讨论,并就人工智能(AI)与下一代互联网的融合发展分享了前瞻性见解。
|
机器学习/深度学习 人工智能 搜索推荐
AI在医疗领域的革命:智能诊断系统的未来
在科技日新月异的今天,人工智能(AI)技术正逐渐渗透到我们生活的每一个角落,其中医疗领域尤为显著。本文将探讨AI在医疗诊断中的应用及其带来的变革,重点介绍智能诊断系统的发展现状与未来趋势。通过深入浅出的方式,我们将揭示AI如何改变传统医疗模式,提高诊断效率和准确性,最终造福广大患者。
|
机器学习/深度学习 数据采集 人工智能
利用AI技术提升文本分类效率
【8月更文挑战第73天】在信息爆炸的时代,文本数据的快速增长使得文本分类成为数据处理的重要环节。本文将介绍如何利用AI技术提升文本分类的效率和准确性,包括数据预处理、模型选择与训练以及结果评估等关键环节。通过实际案例的代码示例,我们将展示如何实现一个高效的文本分类系统。
|
12月前
|
存储 人工智能 缓存
【AI系统】核心计算之矩阵乘
本文探讨了AI模型中矩阵乘运算的优化实现及其在AI芯片设计中的重要性。文章首先介绍了卷积操作如何转化为矩阵乘,接着阐述了矩阵乘的分块(Tiling)技术以适应芯片内存限制,最后总结了几种常见的矩阵乘优化方法,包括循环优化、分块矩阵乘法、SIMD指令优化等,旨在提高计算效率和性能。
489 0
|
人工智能 搜索推荐 算法
AI与未来教育:个性化学习的实践
【10月更文挑战第3天】在21世纪科技浪潮中,人工智能(AI)正重塑教育领域,尤其在个性化学习方面展现出巨大潜力。本文探讨了AI如何通过智能评估、定制化学习路径、情感识别及虚拟助教等方式,提升教育质量和效率,激发每个学生的学习潜能。尽管面临数据隐私和技术普及等挑战,AI与未来教育的融合正开启新篇章,有望实现真正的“因材施教”。
|
存储 安全 网络安全
云计算时代的网络安全:挑战与应对策略
【9月更文挑战第30天】在数字化浪潮的推动下,云计算已经成为企业和个人存储、处理数据的首选方式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将深入探讨云计算环境下的网络安全挑战,并提出相应的应对策略。从云服务的基本概念出发,逐步揭示网络安全的重要性,并结合实例分析常见的网络攻击手段。同时,文章还将分享一些实用的安全措施和最佳实践,帮助读者构建更加安全的云环境。