数据库自增列到顶了怎么办。
面试被面试官问到,回来在网上搜了一下,大致有这几种解决方案,也不知道对不对。
1:换一个更大的类型。例如 int→BigInt。或者使用字符类型。
各类型取值范围
bigint
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
8 字节
int
-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
4 字节
smallint
-2^15 (-32,768) 到 2^15-1 (32,767)
2 字节
tinyint
0 到 255
2:将数据库备份导出、清理无用数据。让出空间。
3:建立历史表,主表只存某段时间的数据,超期的全部转到历史表。再比如用分区表,就是把非常大的表分割成较小的分区。可以增强可用性啊,均衡I/O,提高检索速度。
目前就找到这些,以后找到再补充。