MySQL InnoDB索引

本文详细介绍了MySQL InnoDB存储引擎的索引类型,包括B+树索引的聚集和辅助索引,以及哈希索引的工作原理。强调了B+树索引的高扇出性和快速查询能力,解释了Cardinality值的重要性,并讨论了如何利用联合索引和覆盖索引优化查询性能。
摘要由CSDN通过智能技术生成

1. InnoDB索引概述

InnoDB可支持如下几种索引:

  • B+树索引:由平衡二叉树演化而来,给定键值不能找到具体的行,只是找到数据行所在的页,然后将该页读入内存,再在内存中进行查找想要的数据.
  • 全文索引
  • 哈希索引:InnoDB支持的哈希索引是自适应的,会根据表的使用情况自动为表生成哈希索引,不能人为干预一张表的是否生成哈希索引.

2. B+树索引

B+树索引的一个特点是“高扇出性”(可理解为每个节点对应的下层节点较多),因此在数据库中B+树的高度一般为2~4层,查找某一键值的记录时只需2~4次IO操作,按照磁盘没秒100次IO操作的速度,查询时间仅需0.02s~0.04s.

2.1 聚集索引

(1) InnoDB存储引擎是索引组织表,即表中的数据按照主键的顺序存放。聚集索引就是按照每张表的主键构造一棵B+树,其叶子结点存放行记录数据,称为数据页.

(2) 由于实际的数据页只按照一棵B+树进行排序,因此一张表只能拥有一个聚集索引。由于定义了数据的逻辑顺序,因此聚集索引能够快速的针对范围值进行查询, 大多数情况下,查询优化器倾向于采用聚集索引进行查询

(3) 聚集索引的数据页通过双向链表进行链接,按照主键的顺序排序ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值