InnoDB索引

本文详细介绍了InnoDB存储引擎的索引类型,重点讲解了B+树索引,包括聚集索引和辅助索引的原理与区别,并探讨了Cardinality值在选择索引时的重要性。此外,还讨论了B+树索引的使用场景,如联合索引、覆盖索引,以及Multi-Range Read(MRR)和Index Condition Pushdown(ICP)等优化策略。
摘要由CSDN通过智能技术生成

InnoDB索引

1.InnoDB存储引擎索引概述

InnoDB存储引擎支持以下几种常见的索引 :

  • B+树索引
  • 全文索引
  • 哈希索引

InnoDB存储引擎支持的哈希索引是自适应的, InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引, 不能人为干预是否在一张表里生成哈希索引.

B+树索引就是传统意义上的索引, 这是目前关系型数据库系统中最常用和最有效的索引. B+树索引的构造类似于二叉树, 根据键值(Key Value)快速找到数据.

B+树中的B不是代表二叉(binary), 而是代表平衡(balance)

B+树索引并不能找到一个给定键值的具体行. B+树索引能找到的只是被查找数据行所在的页. 然后数据库通过把页读入到内存, 再在内存中进行查找, 最后的到要查找的数据

2.B+树索引

B+树索引的本质就是B+树在数据库中的实现. 但是B+树索引在数据库中有一个 特点是高扇出性, 因此在数据库中,B+树的高度一般都在2-4层,也就是说查找某一键值的行记录时最多只需要2到4次IO

数据库中的B+树索引分为聚集索引辅助索引, 不管是聚集索引还是辅助索引, 其内部都是B+树, 即高度平衡的, 叶子节点存放着所有的数据. 聚集索引与辅助索引的区别是 : 叶子节点存放的是否是一整行的信息

1>聚集索引

InnoDB存储引擎表是索引组织表, 即表中的数据按照主键顺序存放. 而聚集索引就是按照每张表的主键构造一棵B+树, 同时叶子节点中存放的即为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值