保证MySQL主键的自增长及其意义—微服务之间同步一条记录的id

2019-12-26  本文已影响0人  猫尾草

1. 几个基本知识

2. 应用场景

问题
  当两个模块A、B,A中的表a的记录和B中的表b的记录有关联关系时,有两种选择,一是表a直接使用表b的记录的id,假如B是单应用,没什么问题;假如B是一个集群,有两个问题,需要采取某种方式保证表a的id的唯一性,需要保证表a的id的自增性。第一个问题,唯一性,大家都明白;第二个问题,自增性,就是1中提到的InnoDB索引问题。
  如果表a和b都是数据量很小的表,不经常修改数据,问题不大。如果表a频繁的新增删除数据,同时数据量很大或者采用逻辑删除,那么这时无序的id就会造成1中说的索引问题。
解决办法
  遇到过两次这个需求,都是表a用自己的自增id,添加一个字段,记录表b的id。

上一篇 下一篇

猜你喜欢

热点阅读