摘要:
你现在可以不懂,但以后面试的时候,必须要知道的三个关于自增主键的点
第一:唯一键冲突和事务回滚是导致自增主键不连续的两种大原因,此外批量插入数据的语句,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)

浙公网安备 33010602011771号