MySQL:自增不连续的几种情况总结
自增实际上是单个表上的一个计数器,对于简单的insert语句来讲肯定都是每次+1的,但是对于批量就有可能预先分配一些。一旦抬升不会因为错误或者回滚而降低,简单总结一下常见的情况,
- 事务回滚,计数器增加
- 语句报错,计数器增加
- 自己填充自增值,抬高计数器
- 参数innodb_autoinc_lock_mode为2的时候(8.0默认),insert select 类似批量导入数据,可能导致自增浪费一部分,但是却避免了自增锁,类似
| 1198 | g |
| 1199 | g |
| 1200 | g | ->gap
| 1256 | g | ->gap
| 1257 | g |