无意义自增主键id + 业务id(user_id), 比起单独的 主键id就是userID
来源:2-7 索引调优技巧3-覆盖索引
蓝色西西
2020-12-08 18:02:52
单体应用,为了以后分库分表考虑,使用了分布式ID,比如使用雪花id作为数据表主键id。
类似 34255342543656 3426789943656 3427799342543 这样增大但是不是连续递增的数字,作为主键id,会导致分页和索引查询性能下降吗。
有没有必要这样做,比如在user表等,加一个自增id放在最前面作为表的主键id,无意义。上面的雪花id改为user_id,用雪花id做业务id。这样分库分表会有问题吗。
请问增加 无意义自增主键id + 业务id(user_id), 比起单独的 主键id就是userID,这种方式好吗。
1回答
单体应用,为了以后分库分表考虑,使用了分布式ID,比如使用雪花id作为数据表主键id。
类似 34255342543656 3426789943656 3427799342543 这样增大但是不是连续递增的数字,作为主键id,会导致分页和索引查询性能下降吗。
……………………
一般认为这个影响很小,还是顺序io,不会下降。id不需要连续递增的。
有没有必要这样做,比如在user表等,加一个自增id放在最前面作为表的主键id,无意义。上面的雪花id改为user_id,用雪花id做业务id。这样分库分表会有问题吗。
请问增加 无意义自增主键id + 业务id(user_id), 比起单独的 主键id就是userID,这种方式好吗。
……………
这个不一定,有的团队确实会这么做,不过我个人不太喜欢。看你喜欢吧,都可以哦,我个人觉得必要性不大。
相似问题