采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问一下为什么要用雪花算法生成id呢 直接自己存一个变量每次+1不行吗 使用雪花算法是为了解决什么问题呢
引用一下之前有人的回答:
4.数据库ID有哪些设计方法,都有什么优缺点?自增长ID特点:数值类型,值递增,由数据库内部生成优点:是最简单的方式,开发简单,性能优秀缺点:不适合分表分库场景,会出现主键冲突,ID重复,这是硬伤会有N+1次查询问题,Java代码想获取ID,需要再查询一次
UUID特点:字符串类型,值没什么规律优点:适用于分表分库场景UUID一般由Java代码生成,Java不需要查询就能知道ID缺点:性能不如自增
雪花算法特点:数值类型,由Twitter提供的分布式ID算法,递增优点:适用于分表分库场景,就是为这场景而生的由Java代码生成,Java不需要查询就能知道ID所有需要生成唯一ID的都可用雪花算法,比如登录token、日志编号等缺点:性能稍稍不如自增生成的值较长,传递到前端number类型容易出现精度丢失,可以转成字符串解决
总结如果是简单的小项目,可以考虑用自增ID如果是中大型项目,推荐用雪花ID至于UUID,因为有雪花算法的存在,所以可以放弃UUID但是,小项目我也建议用雪花算法。以后做的项目多了,就不至于一会是自增ID,一会是雪花ID,不至于思维跳跃
引用链接:https://coding.imooc.com/learn/questiondetail/GzLgV6kWdZp6kWxb.html
点赞!点赞!
登录后可查看更多问答,登录/注册
一课掌握前后端最火框架,更有职场竞争力
1.7k 2
1.8k 3
1.8k 2
1.2k 6
1.9k 16