社区
尹洪亮的课程社区_NO_2
一次性精MySQL核心技术
帖子详情
自增主键为什么比UUID好
尹洪亮 Kevin
2023-01-12 23:36:15
课时名称
课时知识点
自增主键为什么比UUID好
自增主键为什么比UUID好
...全文
52
回复
打赏
收藏
自增主键为什么比UUID好
课时名称课时知识点自增主键为什么比UUID好自增主键为什么比UUID好
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
浅谈MySQL中的
自增
主键
用完了怎么办
在面试中,大家应该经历过如下场景 面试官:”用过mysql吧,你们是用
自增
主键
还是
UUID
?” 你:”用的是
自增
主键
” 面试官:”为什么是
自增
主键
?” 你:”因为采用
自增
主键
,数据在物理结构上是顺序存储,性能最好,blabla…” 面试官:”那
自增
主键
达到最大值了,用完了怎么办?” 你:”what,没复习啊!!” (然后,你就可以回去等通知了!) 这个问题是一个粉丝给我提的,我觉得挺有意(KENG)思(B)! 于是,今天我们就来谈一谈,这个
自增
主键
用完了该怎么办! 正文 简单版 我们先明白一点,在mysql中,Int整型的范围如下 我们以无符号
JPA
主键
策略(针对数据库
自增
字段重置后无效检查项)
JPA
主键
策略(针对数据库
自增
字段重置后无效检查项) JPA
主键
生成策略会影响数据库
自增
字段的重置
主键
的选择1
但是,一旦我们在此时重启 MySQL 的话,这张表的
主键
将会发生回溯,也就是 user 表的
自增
起始值将重新变为 3在 MySQL 8.0 之前
主键
回溯问题并没
MySQL经典面试题29道
1、为什么要尽量设定一个
主键
?
主键
是数据库确保数据行在整张表唯一性的保障,即使业务上本张表没有
主键
,也建议添加一个
自增
长的ID列作为
主键
。 设定了
主键
之后,在后续的删改查的时候可能更加快速以及确保操作数据范围安全。 2、
主键
使用
自增
ID还是
UUID
? 推荐使用
自增
ID,不要使用
UUID
。 因为在InnoDB存储引擎中,
主键
索引是作为聚簇索引存在的,也就是说,
主键
索引的B+树叶子节点上存储了
主键
索引以及全部的数据(按照顺序)。 如果
主键
索引是
自增
ID,那么只需要不断向后排列即可。 如果是
UUID
,由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,然后导致产生很多的内存碎片,进而造成插入性能的下降。 总之,在数据量大一些的情况下,用
自增
主键
性能会好一些。 3、字段为什么要求定义为not null? null值会占用更多的字节,且会在程序中造成很多与预期不符的情况。
深入分析mysql为什么不推荐使用
uuid
或者雪花id作为
主键
前言:在mysql中设计表的时候,mysql官方推荐不要使用
uuid
或者不连续不重复的雪花id(long形且唯一),而是推荐连续
自增
的
主键
id,官方的推荐是auto_increment,那么为什么不建议采用
uuid
,使用
uuid
究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。 一:mysql和程序实例 1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key,user_
uuid
,user_random_key,分别表示自动增长的
主键
,
uuid
作为
主键
,随机key作为
主键
,其它我们完全保持不变.根据控制变量法,我们只把每个表的
主键
使用不同的策略生成,而其他
尹洪亮的课程社区_NO_2
1
社区成员
146
社区内容
发帖
与我相关
我的任务
尹洪亮的课程社区_NO_2
《架构基础:从需求到架构》图书作者、现任某互联网大厂系统架构师、11年从业经验,全网粉丝3W+。 先后出品《轻松学习SpringCloud微服务架构》《一次性精通JVM JAVA虚拟机》《一次性彻底学习数据库事务》等10余部课程
复制链接
扫一扫
分享
社区描述
《架构基础:从需求到架构》图书作者、现任某互联网大厂系统架构师、11年从业经验,全网粉丝3W+。 先后出品《轻松学习SpringCloud微服务架构》《一次性精通JVM JAVA虚拟机》《一次性彻底学习数据库事务》等10余部课程
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章