项目中有一张表是记录人员,在每个新用户调用接口认证通过了之后,会有一个往该表插入这个新用户信息的操作。
但是在线上环境中,发现该表的自增id不连续,且间隔都是差了2,比如上一个人的id是10,下一个人的id就是12,而在前端页面中,一个用户认证通过后,会调用3个接口,初步排查是MySQL并发操作导致了自增id不连续的情况
在这篇文章中,列举了导致自增id不连续的几个原因,这次遇到的就是第一种情况,因为个人的信息中我设置了唯一索引:
https://www.jianshu.com/p/957f605a646c
<1>、唯一键冲突是导致自增主键id不连续的第一种原因
<2>、事务回滚是导致自增主键id不连续的第二种原因
<3>、批量申请自增id的策略是导致自增主键id不连续的第三种原因