分布式数据库id的问题

来源:6-7 【实战】MySQL中的比较运算符-1

蓝色西西

2020-12-08

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

写回答

1回答

sqlercn

2020-12-08

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

0
2
sqlercn
回复
蓝色西西
从数据库性能的角度看会好。
2020-12-08
共2条回复

零基础入门 详解企业主流数据库MySQL8.0

掌握SQL优化与慢查询优化,具备独当一面的能力

1641 学习 · 485 问题

查看课程