摘要: 你现在可以不懂,但以后面试的时候,必须要知道的三个关于自增主键的点 第一:唯一键冲突和事务回滚是导致自增主键不连续的两种大原因,此外批量插入数据的语句,MySQL 批量申请自增 id 的策略也是一个隐藏原因 第二:MySQL设计中不允许自增值回退的原因,主要是为了提升性能还有数据准确性。强调了自增主键保证递增但不保证连续的特点。 数据准确性在于: 如果是高并发环境,a和b自增主键操作的好好的,a突然回滚,自增主键就会被打乱,如果允许自增值回退,那就要花更多的性能在排自增主键上(详细见课件),那不允许自增值回退,那不就相当于提升性能吗? 提升性能也在于: MySQL 有一个批量申请自增 id 的策略,不可能你插十万个数据,都要申请十万次自增id 第三点 MySQL在 5.7 及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值 max(id),然后将 max(id)+1 作为这个表当前的自增值。 阅读全文
posted @ 2024-11-29 21:55 guixiang 阅读(149) 评论(0) 推荐(0)
摘要: 语雀链接:https://www.yuque.com/g/wushi-ls7km/ga9rkw/kl8h357ofcgocddz/collaborator/join?token=AwLuhwfJL8wLO2FH&source=doc_collaborator# 《数据结构查找》 阅读全文
posted @ 2024-11-29 18:31 guixiang 阅读(31) 评论(0) 推荐(0)