数据库系统作为一个可能需要 7*24 小时全年无休的服务,考虑这些边界是非常有必要的。每种自增 id 有各自的应用场景,在达到上限后的表现也不同:
- 表的自增 id 达到上限后,再申请时它的值就不会改变,进而导致继续插入数据时报主键冲突的错误。
- row_id 达到上限后,则会归 0 再重新递增,如果出现相同的 row_id,后写的数据会覆盖之前的数据。
- Xid 只需要不在同一个 binlog 文件中出现重复值即可。虽然理论上会出现重复值,但是概率极小,可以忽略不计。
数据库系统作为一个可能需要 7*24 小时全年无休的服务,考虑这些边界是非常有必要的。每种自增 id 有各自的应用场景,在达到上限后的表现也不同: