如果mysql的自增主键达到最大值会发生什么?比如主键类型设为int,其最大值为:2147483647,如果此时我们再往其中写入数据,就会发生异常:
Duplicate entry '2147483647' for key 'PRIMARY'
也即写不进去了。如果发生了这种情况,应该是设计架构就有问题。并且当数据达到千万上亿级别,查询将变得奇慢无比,也是不可取的。在设计架构的时候就应该根据业务情况进行分库分表,至少达到每个表不超过千万级。
另外一种很不可取的做法是,数据写入一张表中,当数据量很大的时候,就定时将某个时间之前的数据挪到另外的表中,然后删除。这样做不仅有上述问题,还有删除表数据的一些弊端。见另外一篇博客:关于mysql的delete和主从同步问题。