基于Mysql数据库Sequence自增组件

本文介绍了如何基于Mysql实现Sequence自增组件,作为雪花算法的替代方案,解决了数字类型的唯一序列号需求。通过DB自增确保序列不重复,并提供多线程安全验证,包括创建唯一SEQ公共表、MySQL函数、JAVA代码实现等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Mysql Sequence组件(mysql版)

背景说明: 项目过程中经常使用到SEQ自增的场景,之前很多情况使用 “雪花算法”,此方案的弊端在于 SEQ随机,无规律可循。

解决方案: 通过DB的方式自增数据,提供”SEQ唯一码“、”起始基数值“、”最大基数值“、”当前唯一码值“、”自增累加值“等通用的方案,解决唯一SEQ且不重复问题。

1、该方案只限于 数字类型(number类型)不支持含有字母的场景

2、该方案 已通过 多线程验证,集群部署不会重复取值(模拟流程平台EOS_UNIONE_TABLE方案)

相关Mysql脚本

  • 1、创建唯一SEQ的公共表:
-- 创建SEQ的包,如果已创建,切勿删除,否则会存在存量数据
-- ----------------------------
CREATE TABLE `g_sys_sequence`  (
  `seq_name` varchar(50) CHARACTER SET la
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

施主、请留步。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值