当前位置:网站首页>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
边栏推荐
- 2022/7/15
- (1) Learn about MySQL
- 反向散射通信的未来应用与技术挑战
- ROS duplicate name
- openfoam热流边界条件
- input number 純數字輸入 限制長度 限制 最大值
- Tencent cloud server uses image to deploy WordPress personal website!
- 2022/7/16
- High number_ Chapter 1 space analytic geometry and vector algebra__ Distance from point to plane
- Journal日志与oplog日志的区别
猜你喜欢

Second classification learning is extended to multi classification learning

今日睡眠质量记录79分

LeetCode 2325. Decrypt message (map)

Unity3d 读取mpu9250 例子原代码

Use testeract JS offline recognition picture text record

Four methods of traversing key value in map

如何在双链笔记软件中建立仪表盘和知识库?以嵌入式小组件库 NotionPet 为例

NPC, Microsoft, etc. proposed inclusivefl: inclusive federal learning on heterogeneous devices

发明闪存能赚多少钱?这是一个日本的狗血故事

Google Earth Engine——Hansen Global Forest Change v1.8 (2000-2020) 森林覆盖度和森林损失量数据集
随机推荐
Configuration of vscode+unity3d
[acwing] 60th weekly match b- 4495 Array operation
Unity3d 读取mpu9250 例子原代码
虚拟化排错概论
发明闪存能赚多少钱?这是一个日本的狗血故事
Input number pure digital input limit length limit maximum value
Win10的环境变量配置
Pytoch framework learning record 1 cifar-10 classification
Paper notes: mind the gap an empirical evaluation of impaction ofmissing values techniques in timeseries
Vérification logique complexe personnalisée lors de l'ajout et de la modification - 2022 nouvel élément
新增、修改操作時自定義複雜邏輯校驗-2022新項目
Google Earth Engine——Hansen Global Forest Change v1.8 (2000-2020) 森林覆盖度和森林损失量数据集
Scala在Idea中的配量
Pytorch.nn实现多层感知机
Pytorch与权重衰减(L2范数)
antd 下拉多选传值到后台做查询操作
ue4对动画蓝图的理解
Connected graph (union search set)
Summary of port mirroring methods with VDS or NSX under vSphere
[Huawei cloud IOT] reading notes, "Internet of things: core technology and security of the Internet of things", Chapter 3 (2)