龙空技术网

MySQL分库分表之后,id主键如何处理?

大数据java架构师 118

前言:

眼前小伙伴们对“mysql建完表怎么设置主键”大致比较关心,大家都需要知道一些“mysql建完表怎么设置主键”的相关文章。那么小编在网上搜集了一些关于“mysql建完表怎么设置主键””的相关文章,希望咱们能喜欢,小伙伴们快快来学习一下吧!

(1)数据库自增id

适合的场景:你分库分表就俩原因,要不就是单库并发太高,要不就是单库数据量太大;除非是你并发不高,但是数据量太大导致的分库分表扩容,你可以用这个方案,因为可能每秒最高并发最多就几百,那么就走单独的一个库和表生成自增主键即可。

并发很低,几百/s,但是数据量大,几十亿的数据,所以需要靠分库分表来存放海量的数据

(2)uuid

适合的场景:如果你是要随机生成个什么文件名了,编号之类的,你可以用uuid,但是作为主键是不能用uuid的。

(3)获取系统当前时间

适合的场景:一般如果用这个方案,是将当前时间跟很多其他的业务字段拼接起来,作为一个id,如果业务上你觉得可以接受,那么也是可以的。你可以将别的业务字段值跟当前时间拼接起来,组成一个全局唯一的编号,订单编号,时间戳 + 用户id + 业务含义编码

(4)snowflake算法

这个snowflake算法相对来说还是比较靠谱的,所以你要真是搞分布式id生成,如果是高并发啥的,那么用这个应该性能比较好,一般每秒几万并发的场景,也足够你用了。

标签: #mysql建完表怎么设置主键