获得徽章 0
软件开发者 @家里蹲
以前来了公司来了一个cto,说主键ID一定要用数据库的自增id,原因主要有两个:
1. 数据库自增id能保证id自增不重复,还减少维护的成本;而其他id例如雪花id并不能完全保证不重复和自增,还要额外的维护他(区域id、机器id、时间回拨等)。
2. 数据库主键应该不具备业务意义,dba无需感知其中的意义,而且有时候做数据压缩、数据迁移等处理时业务无需考虑主键ID。
这点包括我直属leaeder也很认同,后面有很长一段时间都很确信这一点,听着挺有道理的,并且到处宣扬。
但是后来,经过我的理解,其实这也不是绝对的,如果系统的写入量很大的时候,例如一些日志系统(雪花id的由来),这时数据库自增的id生成效率就会成为瓶颈,这时候我们就需要使用其他算法来生成主键id了,例如雪花id。
因此,我理解是大部分场景都可以使用数据库自增id来充当主键,而对于写入频率很高的表可以使用类似雪花id之类的算法。但是,从另一个角度看,写入频率高的也可以做分库分表,在降低每个表的写入频率,具体情况就要业务之间做取舍了。
展开
20
我所理解的API与SPI
一啖焗捞丁于2024-10-25 13:36发布的图片
评论
今天8月8号,做到第888题[吃瓜群众]
一啖焗捞丁于2024-08-08 11:09发布的图片
4
太久没面试了 又被八股文秀了一脸[绝望的凝视]
29
下一页
个人成就
文章被点赞 57
文章被阅读 18,020
掘力值 678
收藏集
1
关注标签
3
加入于