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+树存储结构,可以有效地提高查询效率,索引分为聚集索引和非聚集索引,聚集索引将表中的数据物理存储在叶子节点中,只能有一个,关键字就是表的主键;非聚集索引将表中的数据逻辑存储在叶子节点中,可以有多个,每个索引都有一个指向表中实际行记录的指针。
猜您想看
-
C++核心准则是什么
C++核心准则...
2023年05月22日 -
数据库的分库分表怎么设计
分库分表是一种...
2023年07月22日 -
如何理解Reactor线程模型
一、React...
2023年05月26日 -
powerdesigner如何安装
如何安装Pow...
2023年06月26日 -
怎么在QQ上设置颜文字?
1、颜文字的概...
2023年05月15日 -
hadoop和hive如何安装
1. Hado...
2023年07月22日