关注
如何生成唯一主键
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)
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 设计人如何选offer #
98401次浏览 689人参与
# 找工作,行业重要还是岗位重要? #
7760次浏览 102人参与
# 五一之后,实习真的很难找吗? #
45728次浏览 325人参与
# 盲审过后你想做什么? #
12687次浏览 113人参与
# 外包能不能当跳板? #
22197次浏览 191人参与
# 领导秒批的请假话术 #
9940次浏览 74人参与
# 考研可以缓解求职焦虑吗 #
21162次浏览 251人参与
# 五一假期,你打算“躺”还是“卷”? #
30499次浏览 436人参与
# 找工作前vs找工作后的心路变化 #
7203次浏览 64人参与
# 面试等了一周没回复,还有戏吗 #
115651次浏览 1074人参与
# 硬件人,你被哪些公司给挂了 #
46716次浏览 722人参与
# 安克创新求职进展汇总 #
32580次浏览 415人参与
# 大疆的机械笔试比去年难吗 #
69652次浏览 603人参与
# 应届生薪资多少才合理? #
3115次浏览 24人参与
# 牛友们的论文几号送审 #
27270次浏览 623人参与
# 写简历别走弯路 #
714508次浏览 7850人参与
# 你喜欢工作还是上学 #
37667次浏览 412人参与
# 如果有时光机,你最想去到哪个年纪? #
43340次浏览 769人参与
# 如果不工作真的会快乐吗 #
101230次浏览 867人参与
# 每人推荐一个小而美的高薪公司 #
72850次浏览 1357人参与