当前位置: 首页 > news >正文

Mysql——分库分表后id冲突解决方案(即分布式ID的生成方案)

目录

    • 一、分库分表后id冲突(分布式ID的冲突问题)
    • 二、分库分表后id冲突解决方案(即分布式ID的生成方案)
      • 2.1、第一种方案:设置自增主键的步长
        • 2.1.1、设置自增主键的步长
        • 2.1.2、设置自增主键的步长示例
        • 2.1.3、设置自增主键的步长的缺点
      • 2.2、第二种方案:通过数据库号段的方式
        • 2.2.1、通过数据库号段的方式
        • 2.2.2、通过数据库号段的方式缺点
        • 2.2.3、通过数据库号段的方式缺点的解决方式
      • 2.3、第三种方案:通过UUID的方式
        • 2.3.1、通过UUID的方式
        • 2.3.2、通过UUID的方式导致性能降低的解决方式
      • 2.4、第四种方案:通过Redis生成ID方式
        • 2.4.1、通过Redis生成ID方式
        • 2.4.2、通过Redis生成ID方式的注意事项
      • 2.5、第五种方案:通过雪花ID(snowflakelD)方式
        • 2.5.1、雪花ID(snowflakelD)
        • 2.5.2、雪花算法它为什么能够保证唯一性
        • 2.5.3、雪花算法缺点

一、分库分表后id冲突(分布式ID的冲突问题)

  • 分库分表后导致id冲突,如下图:
    在这里插入图片描述

二、分库分表后id冲突解决方案(即分布式ID的生成方案)

2.1、第一种方案:设置自增主键的步长

2.1.1、设置自增主键的步长
  • 设置自增主键的步长,在默认的情况下,自增主键它的步长是1,就会导致多张表主键都是一样的。
2.1.2、设置自增主键的步长示例
  • 示例1:2张表的情况

    第一张表,它的起始值是1,步长是2,那么它自身主键就会是1、3、5、7…

    在这里插入图片描述

    第二张表,它的起始值是2,步长是2,那么它自身主键就会是2、4、6、8…

    在这里插入图片描述

  • 示例2:3张表的情况

    第一张表,它的起始值是1,步长是3,那么它自身主键就会是4、7、10…

    第二张表,它的起始值是2,步长是3,那么它自身主键就会是5、8、11…

    第三张表,它的起始值是3,步长是3,那么它自身主键就会是6、9、12…

  • 示例3:4张表的情况

    第一张表,它的起始值是1,步长是4,那么它自身主键就会是5、9、13…

    第二张表,它的起始值是2,步长是4,那么它自身主键就会是6、10、14…

    第三张表,它的起始值是3,步长是4,那么它自身主键就会是7、11、15…

    第四张表,它的起始值是4,步长是4,那么它自身主键就会是8、12、16…

2.1.3、设置自增主键的步长
http://www.dtcms.com/a/338167.html

相关文章:

  • 静态网站与动态网站的区别
  • MySQL分库分表实战指南
  • 电子电气架构 --- 软件开发数字化转型
  • Linux小白加油站,第三周周考
  • 永磁同步电机控制算法--转速环电流环超螺旋滑模控制器STASMC
  • 04 类型别名type + 检测数据类型(typeof+instanceof) + 空安全+剩余和展开(运算符 ...)简单类型和复杂类型 + 模块化
  • Maven依赖管理工具详细介绍
  • PowerShell定时检查日期执行Python脚本
  • 决策树的学习
  • 【EI会议征稿】2025第四届健康大数据与智能医疗国际会议(ICHIH 2025)
  • 基于STM32的电动车智能报警系统设计与实现
  • <数据集>遥感飞机识别数据集<目标检测>
  • rsync scp无法使用,踩坑破解之道!
  • 代理模式深度解析:从静态代理到 Spring AOP 实现
  • WAIC点燃人形机器人热潮,诠视SeerSense® DS80:多感融合的空间感知中枢,重新定义机器三维认知
  • 8月更新!Windows 10 22H2 64位 五合一版【原版+优化版、版本号:19045.6159】
  • 红日靶场01<超水版>
  • IDEA的创建与使用(2017版本)
  • 如何用企业微信AI 破解金融服务难题?
  • [Code Analysis] docs | Web应用前端
  • 深入解析:如何设计灵活且可维护的自定义消息机制
  • Spring AI + MCP Client 配置与使用详解
  • 专业高效的汽车部件FMEA解决方案--全星FMEA软件系统在汽车部件行业的应用优势
  • 百胜软件亮相CCDS2025-中国美妆数智科技峰会,解码美妆品牌数智化转型新路径
  • 【C语言16天强化训练】从基础入门到进阶:Day 2
  • 氯化铈:绿色科技的推动力
  • Tomcat Context的核心机制
  • LLM - windows下的Dify离线部署:从镜像打包到无网环境部署(亲测)
  • 【Goland】:Map
  • Golang資源分享