为什么一般用自增列作为主键?
Posted Data+Science+Insight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么一般用自增列作为主键?相关的知识,希望对你有一定的参考价值。
为什么一般用自增列作为主键?
为什么一般用自增列作为主键?
- 如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页
- 如果使用非自增主键(如果身份证号或学号等),由于每次插入主键的值近似于随机,因此每次新记录都要被插到现有索引页的中间某个位置,此时mysql不得不为了将新记录插到合适位置而移动数据,这增加了很多开销,同时会增加大量的碎片
1.从业务上来说
在设计数据库时不需要费尽心思去考虑设置哪个字段为主键。然后是这些字段只是理论上是唯一的,例如使用图书编号为主键,这个图书编号只是理论上来说是唯一的,但实践中可能会出现重复的 情况。所以还是设置一个与业务无关的自增ID作为主键,然后增加一个图书编号的唯一性约束。
2.从技术上来说
如果表使用自增主键,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页。 总的来说就是可以提高查询和插入的性能。
参考:Why do we use primary key auto increment, and not just auto_increment?
参考:sql
以上是关于为什么一般用自增列作为主键?的主要内容,如果未能解决你的问题,请参考以下文章