面试官问:MySQL 的自增 ID 用完了,怎么办?( 二 )
该全局 row_id 在代码实现上使用的是 bigint unsigned 类型 , 但实际上只给 row_id 留了 6 字节 , 这种设计就会存在一个问题:如果全局 row_id 一直涨 , 一直涨 , 直到 2 的 48 幂次 - 1 时 , 这个时候再 + 1 , row_id 的低 48 位都为 0 , 结果在插入新一行数据时 , 拿到的 row_id 就为 0 , 存在主键冲突的可能性 。
所以 , 为了避免这种隐患 , 每个表都需要定一个主键 。
来源:程序猿面试指南
文章插图
之前 , 给大家发过三份Java面试宝典 , 这次新增了一份 , 目前总共是四份面试宝典 , 相信在跳槽前一个月按照面试宝典准备准备 , 基本没大问题 。
- 《java面试宝典5.0》(初中级)
- 《350道Java面试题:整理自100+公司》(中高级)
- 《资深java面试宝典-视频版》(资深)
- 《Java[BAT]面试必备》(资深)
内容包含java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列 , 高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等 。
文章插图
【面试官问:MySQL 的自增 ID 用完了,怎么办?】看到这里 , 证明有所收获
推荐阅读
- 基于Spring+Angular9+MySQL开发平台
- MySQL数据库数据归档回收工具使用场景分享-爱可生
- Java学习:Java学习到什么程度可以进行面试
- 实践中如何优化MySQL(建议收藏!)
- 程序员面试金典17.05_go_字母与数字
- 安卓春招面经:二本渣院面试网易被拒,最终获腾讯阿里offer
- 「6」进大厂必须掌握的面试题-Hibernate
- 震惊!京东T4大佬面试整整三个月,才写了两份java面试笔记
- 安卓面试必备的JVM虚拟机制详解,看完之后简历上多一个技能
- 「3」Java面试-Servlet