MySQL InnoDB索引的存储结构和分类
MySQL InnoDB索引的存储结构
MySQL InnoDB索引使用B+树存储结构,B+树是一种多路搜索树,它的每个节点都有若干个子节点,每个节点都存储着一定数量的关键字,并以升序排列,每个节点最多可以存储M个关键字,这个值由MySQL的参数innodb_page_size决定。B+树的每个节点都存储着一个指向叶子节点的指针,叶子节点中存储着实际的行记录的指针,这样就可以快速地查找出符合条件的行记录。
MySQL InnoDB索引的分类
MySQL InnoDB索引分为两类:聚集索引和非聚集索引。
1、聚集索引
聚集索引是MySQL InnoDB中的一种特殊的索引,它将表中的数据物理存储在叶子节点中,这种索引只能有一个,它的关键字就是表的主键,聚集索引可以有效地提高查询效率,因为叶子节点中存储的是实际的行记录,查询时只需要搜索索引树,就可以快速地查找到实际的行记录。
2、非聚集索引
非聚集索引是MySQL InnoDB中普通的索引,它将表中的数据逻辑存储在叶子节点中,也就是存储的是行记录的主键值,这种索引可以有多个,每个索引都有一个指向表中实际行记录的指针,查询时,首先搜索索引树,找到符合条件的主键值,然后根据主键值来查找实际的行记录。
3、综合分析
MySQL InnoDB索引使用B+树存储结构,可以有效地提高查询效率,索引分为聚集索引和非聚集索引,聚集索引将表中的数据物理存储在叶子节点中,只能有一个,关键字就是表的主键;非聚集索引将表中的数据逻辑存储在叶子节点中,可以有多个,每个索引都有一个指向表中实际行记录的指针。
猜您想看
-
如何进行meta程序包的安装与使用
什么是meta...
2023年07月21日 -
什么是Little's Law
Little'...
2023年05月26日 -
Kubernetes中怎么利用Deployment实现滚动升级
1、什么是滚动...
2023年05月22日 -
如何更改Windows的默认字体
1. 修改字体...
2023年05月15日 -
PHP中变量的类型和命名规则
PHP中变量的...
2023年05月26日 -
如何使用Windows截屏工具
一、Windo...
2023年05月15日