当前位置:网站首页>Mysql 自增id、uuid与雪花id
Mysql 自增id、uuid与雪花id
2022-07-17 13:49:00 【云闲不收】
概念介绍
三种主键
自增id :1 2 3 4 5……
uuid :UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符。通用唯一标识符的意思,可以以业务实际user id为主键 比如QQ号 手机号等
雪花id :相比UUID无序生成的id而言,雪花算法是有序的(有时间参数),而且都是由数字组成。雪花id最大为64位,符合java中long的长度64位。适用于大规模分布式
聚簇索引与非聚簇索引

自增id

自增的主键的值是顺序的,所以Innodb把每一条记录都存储在一条记录的后面。当达到页面的最大填充因子时候(innodb默认的最大填充因子是页大小的15/16,会留出1/16的空间留作以后的 修改):
①下一条记录就会写入新的页中,一旦数据按照这种顺序的方式加载,主键页就会近乎于顺序地记录填满,提升了页面的最大填充率,不会有页的浪费
②新插入的行一定会在原有的最大数据行下一行,mysql定位和寻址很快,不会为计算新行的位置而做出额外的消耗
③减少了页分裂和碎片的产生
优点:
1.自增,趋势自增,可作为聚集索引,提升查询效率
2.节省磁盘空间。500W数据,UUID占5.4G,自增ID占2.5G.
3.查询,写入效率高:查询略优。在数据量大时候 高于uuid插入速度
缺点:
1.导入旧数据时,可能会ID重复,导致导入失败。
2.分布式架构,多个Mysql实例可能会导致ID重复。
3.容易被外界攻破,知道业务实际情况。且例如:显示公告内容index?id=3这样就很容易被人篡改为index?id=2.就可以调到第二条的内容。
4对于高并发的负载,innodb在按主键进行插入的时候会造成明显的锁争用,主键的上界会成为争抢的热点,因为所有的插入都发生在这里,并发插入会导致间隙锁竞争。Auto_Increment锁机制会造成自增锁的抢夺,有一定的性能损失
uuid
缺点看上面
雪花id
边栏推荐
- Google Earth Engine APP(GEE)—设定中国区域的一个夜间灯光时序分析app
- 树链剖分思想讲解 + AcWing 2568. 树链剖分(dfs序 + 爬山法 + 线段树)
- Vérification logique complexe personnalisée lors de l'ajout et de la modification - 2022 nouvel élément
- [design process] Net ORM FreeSQL wheredynamicfilter dynamic table query function
- Avi Deployment Guide (2): overview of AVI architecture
- LeetCode 2325. Decrypt message (map)
- 37. flex布局
- LeetCode 2319. Judge whether the matrix is an X matrix
- 2022/7/14
- Modify the default path of jupyter see this article!
猜你喜欢

高数_第1章空间解析几何与向量代数__点到平面的距离

ROS duplicate name

Win10的环境变量配置

LeetCode 2249. Count the number of grid points in the circle

Win10 install Apache Jena 3.17

如何在 RHEL 9 中更改和重置忘记的root密码

web安全入门-部署Snort开源IDS/IPS系统

Pytorch与权重衰减(L2范数)
![[handwritten numeral recognition] handwritten numeral recognition based on lenet network with matlab code](/img/17/97b46355dbfa02608af2f91d7d6409.png)
[handwritten numeral recognition] handwritten numeral recognition based on lenet network with matlab code

Opencv programming: opencv3 X trains its own classifier
随机推荐
[Huawei cloud IOT] reading notes, "Internet of things: core technology and security of the Internet of things", Chapter 3 (2)
发明闪存能赚多少钱?这是一个日本的狗血故事
Introduction to sap appgyver
树链剖分思想讲解 + AcWing 2568. 树链剖分(dfs序 + 爬山法 + 线段树)
Common collection properties
Over fitting and under fitting
[acwing] game 60 c-acwing 4496 eat fruit
基于网络编码的卫星网络容量提升方法
LeetCode 558. 四叉树交集
[PostgreSQL] PostgreSQL 15 optimizes distinct
SSM uses POI to export data to excel
antd 下拉多选传值到后台做查询操作
Efficient space-based computing technology for satellite communication in 6g
NPC, Microsoft, etc. proposed inclusivefl: inclusive federal learning on heterogeneous devices
Develop the first Flink app
Satellite network capacity improvement method based on network coding
(1) Learn about MySQL
[in vivado middle note ILA IP core]
Category imbalance in classification tasks
Pytoch learning record 2 linear regression (tensor, variable)