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

Mysql自增id、uuid、雪花算法id的比较

MySQL自增id:

优点:
1.简单易用
​ MySQL自增id 由数据库自动生成。
2.效率高
自增id是按顺序递增的,可以提高插入和查询的效率。
3.索引效率高
自增id可以作为主键或索引列,提高查询效率。

缺点:
1.不适用于分布式系统
在分布式环境下,多个节点生成的自增id可能会冲突,需要额外的处理机制。

UUID

优点:
1.全球唯一性
UUID在全球范围内保证了唯一性,不会出现重复的情况。

缺点:
1.存储空间大
UUID占用的存储空间较大,通常为36个字符,如果作为主键,会占用更多的存储空间。
2.索引效率低
UUID是随机生成的,不具有顺序性,导致索引效率较低。
3.查询效率低
由于索引效率低,查询效率也会受到影响。

雪花算法唯一 id

雪花算法,可以生成唯一id,id 只包含数字, 长 64位。

雪花算法生成的 id,包括 符号位(1位),时间戳( 41位) ,数据中心ID (5位), 机器ID(5位), 序列号(12位)。。

符号位(1位):始终为数字 0, 留作未来使用,有可能被用来区分有符号数和无符号数。
时间戳( 41位) :纪元开始以来的毫秒数。
数据中心ID (5位) :最多可以有 32 个 ( 2^ 5) 机器。
序列号 (12位) :对于某个机器/进程, 每生成 一个ID,序列号就加1,这个数字每毫秒开始时都会被重置 为0。

雪花算法 id:

优点:
1.分布式环境下唯一性
雪花id在分布式系统中生成唯一的id,可以满足分布式环境下的需求。

缺点:
1.依赖于机器时钟
雪花id 的生成依赖于机器的时钟,如果时钟回拨或者时钟不同步,可能会导致生成的id不唯一。
2.存储空间较大
雪花id 占用的存储空间较大,通常为64位,如果作为主键,会占用更多的存储空间。
3.查询效率低
由于雪花id 是随机生成的,不具有顺序性,导致索引效率较低。

参考资料

https://blog.csdn.net/JSUITDLWXL/article/details/135644456

http://www.lryc.cn/news/352813.html

相关文章:

  • 【会议征稿,IEEE出版】第九届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2024,6月28-30)
  • 二十八篇:嵌入式系统实战指南:案例研究与未来挑战
  • 探索编程乐趣:绘制螺旋图的奇幻之旅
  • C# 语法糖
  • ubuntu 安装VMtool 实现复制粘贴
  • 智慧仓储新动力:EasyCVR+AI视频智能监管系统方案助力仓储安全高效管理
  • gcc源码分析(AST抽象语法树)
  • ES基础概念
  • 断更是我的错
  • 红队攻防渗透技术实战流程:云安全之云原生安全:云堡垒机
  • Down with typename
  • CSS3背景与渐变
  • 线性表——链式存储
  • VUE3和VUE2
  • mysql5.5版本安装过程
  • 工厂生产管理系统
  • Atlas 200I DK A2安装MindSpore Ascend版本
  • Go 生成UUID唯一标识
  • 【知识蒸馏】deeplabv3 logit-based 知识蒸馏实战,对剪枝的模型进行蒸馏训练
  • 02.爬虫---HTTP基本原理
  • HTTP响应的基本概念
  • 链栈的存储
  • 常见网络协议及端口号
  • 几张自己绘制的UML图
  • [读论文]精读Self-Attentive Sequential Recommendation
  • HTML静态网页成品作业(HTML+CSS)——动漫海绵宝宝介绍网页(5个页面)
  • 开放式耳机2024超值推荐!教你如何选择蓝牙耳机!
  • 程序员搞副业的障碍有那些?
  • windows7的ie11降级到ie8
  • 楼房vr安全逃生模拟体验让你在虚拟环境中亲身体验火灾的紧迫与危险