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+树存储结构,可以有效地提高查询效率,索引分为聚集索引和非聚集索引,聚集索引将表中的数据物理存储在叶子节点中,只能有一个,关键字就是表的主键;非聚集索引将表中的数据逻辑存储在叶子节点中,可以有多个,每个索引都有一个指向表中实际行记录的指针。
猜您想看
-
怎么在QQ上查看系统公告?
一、在QQ上查...
2023年05月15日 -
cpu使用不高但是物理内存高的原因是什么
1. CPU使...
2023年05月26日 -
什么是Spring Cloud 版本控制
1、什么是 S...
2023年05月26日 -
Linux环境下的办公软件使用
1. 简介在L...
2024年05月30日 -
vscode配置golang环境的方法
一、安装Go语...
2023年05月25日 -
linux平台有哪些好处
开源自由一、L...
2023年06月26日