Mysql原理刨析 :InnoDB存储引擎为什么需要设置主键?并且推荐使用整型的自增主键

1. 为什么要设置主键 ?

毫无疑问的是,当对Mysql中的表设置了InnoDB存储引擎的时候,那么就需要对一列数据建立索引,方便快速查找,如果不设置主键的,Mysql会在表中逐列对比寻找无重复项的列作为逐渐,如果没有查找到,那么Mysql会在表中添加默认列作为主键。如果不设置主键列,那么Mysql会消耗大量的资源去寻找索引列或者是创建新的索引列,如果设置了索引列那么将极大的降低Mysql的资源消耗。

2. 为什么要采用整型的数据 ?

Mysql底层对数据查找的时候,会涉及到大量的对比操作,如果采用UUID的字符串模式,那么Mysql在对比过程中会消耗资源用于字符串中每个字符的对比,这样做将极大的消耗系统的性能。

2. 为什么要采用自增主键 ?

了解B + 树的节点存储机制的话,就一定会知道当某个节点的索引数量达到阈值的时候会分裂节点重新调整树的平衡。这样做对系统性能的消耗是相当不友好,在B + 树的叶子节点中,通过双向指针维护了一根将索引按照升序排列的双向链表,采用自增主键,新的索引将会被添加在链表的尾部,避免了B + 树的分裂所带来的系统消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值