《第四讲 深入浅出索引上》-读书笔记

索引类型

哈希表,有序表,搜索树

哈希表:mongodb,redis

有序表:有序数组索引只适用于静态存储引擎

搜索树:innodbs等数据引擎

innodbs索引类型

主键索引,普通索引

主键索引:节点值为主键,叶子节点里存储的是整行数据。所以主键索引在innodbs也称为聚簇索引。所以一个表就是一个主键b+树。

普通索引:节点存储key-value的形式,key是普通索引字段值,value是主键。因此也被称为二级索引。普通索引查到主键后,会再进入主键树再查一次,这个过程叫做回表。因此要尽量使用主键来做查询。

索引维护

插入新数据:根据b+树算法,子节点的key都小于父节点,并且进行从小到大的排序,如果插入一个新数据的索引值在在页的中间,那么需要挪动该值后的节点。这样会导致插入性能变差。所以如果使用自增id,那么每条新数据都是直接在页后追加节点。

页分裂:当一页数据放不下时,就会申请新页,然后挪一部分数据过去,这个过程叫页分裂。如果删除了一部分数据,引擎判断页的使用率下降,将会合并页,可以认为是分裂过程的逆过程。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值