开发者社区 > 数据库 > 正文

数据库中为什么用自增列作为主键?

已解决

数据库中为什么用自增列作为主键?

展开
收起
游客gaiketk6mpmke 2022-04-03 11:12:16 940 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页

    如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新纪录都要被插到现有索引页得中间某个位置,此时MySQL不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多开销,同时频繁的移动、分页操作造成了大量的碎片,得到了不够紧凑的索引结构

    2022-04-03 14:28:01
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载