关注
如何生成唯一主键
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)
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-15 21:46
合肥工业大学 测试工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
4903次浏览 50人参与
# 面试尴尬现场 #
198689次浏览 753人参与
# 百融云创求职进展汇总 #
22307次浏览 145人参与
# 0经验如何找实习? #
15103次浏览 296人参与
# 最难的技术面是哪家公司? #
60081次浏览 937人参与
# 你今年做了几份实习? #
4441次浏览 66人参与
# 腾讯音乐求职进展汇总 #
142984次浏览 1032人参与
# 字节出了豆包coding模型 #
4552次浏览 49人参与
# 你找工作经历过哪些骗局? #
5580次浏览 100人参与
# 实习心态崩了 #
93803次浏览 487人参与
# 你开始找寒假实习了吗? #
8552次浏览 135人参与
# 实习越久越好,还是多多益善? #
11647次浏览 97人参与
# 25年找工作是什么难度? #
8123次浏览 89人参与
# 一上班就想____,这正常吗? #
2845次浏览 62人参与
# 刚工作,应该先搞钱or搞成长? #
4610次浏览 67人参与
# 离职你会和父母说吗? #
6263次浏览 86人参与
# 你投了多少家公司?进展是___ #
183361次浏览 1135人参与
# 如果公司降薪,你会跳槽吗? #
109271次浏览 687人参与
# 实习必须要去大厂吗? #
168321次浏览 1660人参与
# 你是怎么和mt相处的? #
82496次浏览 436人参与
# 你会为了工作牺牲生活吗? #
65036次浏览 446人参与
