关注
如何生成唯一主键
1.利用数据库自增ID,特点是趋势递增,全局唯一,需要保证高可用环境下,使用不同初始值+相同步长,但是扩展性有限制
2.利用单点服务串行化生成递增ID,特点是全局递增,全局唯一,例如存储在redis中,并利用redis原子操作生成,性能瓶颈取决于redis读写性能
3.每台机器自己生成UUID,特点是无序,全局唯一,一般是字符串的数据类型使得检索低效,无序的特性使得插入低效
4.每台主机获取当前的毫秒数,特点是趋势递增,可能出现全局不唯一,不推荐
5.参考snowflake算法,41bit毫秒数+10bit机器序号+12bit毫秒内序列号,特点是趋势递增,全局唯一
根据业务权衡选取2或者5,其次是1,其次是3,最后是4
UUID的缺点
无序,全局唯一,一般是字符串的数据类型使得检索低效,无序的特性使得插入低效
另外附上:
[UUID如何保证唯一性?](https://zhuanlan.zhihu.com/p/70375430)
[UUID是如何保证唯一性的?](https://www.zhihu.com/question/34876910)
查看原帖
点赞 评论
相关推荐
02-18 13:28
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
37157次浏览 438人参与
# 网申一定要掌握的小技巧 #
20628次浏览 86人参与
# 厦门银行科技岗值不值得投 #
16264次浏览 359人参与
# AI替代不了什么? #
596次浏览 17人参与
# 面试紧张时你会有什么表现? #
34913次浏览 223人参与
# 学历VS实习,哪个更重要? #
3250次浏览 71人参与
# 一人一道大厂面试题 #
125136次浏览 1303人参与
# 机械人求职现状 #
39899次浏览 321人参与
# 分享一个让你热爱工作的瞬间 #
67435次浏览 500人参与
# 你的实习什么时候入职 #
367515次浏览 2362人参与
# 汇川技术求职进展汇总 #
189328次浏览 1065人参与
# uu们,春招你还来吗? #
66451次浏览 830人参与
# 面试中,你被问过哪些奇葩问题? #
98005次浏览 1347人参与
# 发工资后,你做的第一件事是什么 #
99815次浏览 320人参与
# 牛油的搬砖plog #
188693次浏览 1254人参与
# 一人分享一道面试手撕题 #
111566次浏览 2644人参与
# 面试被问到不会的问题,你怎么应对? #
28252次浏览 727人参与
# 你都用vibe coding做过什么? #
24507次浏览 925人参与
# 90后北漂现状 #
36199次浏览 214人参与
# 工作上你捅过哪些篓子? #
68667次浏览 318人参与
# 关于春招你都做了哪些准备? #
145365次浏览 767人参与
