面试官问:MySQL 的自增 ID 用完了,怎么办?( 二 )


该全局 row_id 在代码实现上使用的是 bigint unsigned 类型 , 但实际上只给 row_id 留了 6 字节 , 这种设计就会存在一个问题:如果全局 row_id 一直涨 , 一直涨 , 直到 2 的 48 幂次 - 1 时 , 这个时候再 + 1 , row_id 的低 48 位都为 0 , 结果在插入新一行数据时 , 拿到的 row_id 就为 0 , 存在主键冲突的可能性 。
所以 , 为了避免这种隐患 , 每个表都需要定一个主键 。
来源:程序猿面试指南
面试官问:MySQL 的自增 ID 用完了,怎么办?文章插图
之前 , 给大家发过三份Java面试宝典 , 这次新增了一份 , 目前总共是四份面试宝典 , 相信在跳槽前一个月按照面试宝典准备准备 , 基本没大问题 。

  • 《java面试宝典5.0》(初中级)
  • 《350道Java面试题:整理自100+公司》(中高级)
  • 《资深java面试宝典-视频版》(资深)
  • 《Java[BAT]面试必备》(资深)
分别适用于初中级 , 中高级 , 资深级工程师的面试复习 。
内容包含java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列 , 高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等 。
面试官问:MySQL 的自增 ID 用完了,怎么办?文章插图
【面试官问:MySQL 的自增 ID 用完了,怎么办?】看到这里 , 证明有所收获


推荐阅读