请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

分布式数据库id的问题

老师,单体应用,为了以后分库分表考虑,使用了分布式ID,比如使用雪花id作为数据表主键id。
类似 34255342543656 3426789943656 3427799342543 这样增大但是不是连续递增的数字,作为主键id,会导致分页和索引查询性能下降吗。
有没有必要这样做,加一个自增id放在最前面作为表的主键id,无意义。上面的雪花id改为user_id,用雪花id做业务id。这样分库分表会有问题吗。

正在回答 回答被采纳积分+3

1回答

sqlercn 2020-12-08 17:52:27

主建一定要保证是递增的,当然可以不是连续递增,但一定是递增的。另外主建的大小越小越好,分库分表时最好的做法是在提供一个生成自增ID的服务,统一生成全局唯一的自增ID。

0 回复 有任何疑惑可以回复我~
  • 提问者 蓝色西西 #1
    那就是美团id,但是请问增加 无意义自增主键id + 业务id(user_id), 比起单独的 主键id就是userID,这种方式好吗。
    回复 有任何疑惑可以回复我~ 2020-12-08 18:01:02
  • sqlercn 回复 提问者 蓝色西西 #2
    从数据库性能的角度看会好。
    回复 有任何疑惑可以回复我~ 2020-12-08 18:47:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信