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+树存储结构,可以有效地提高查询效率,索引分为聚集索引和非聚集索引,聚集索引将表中的数据物理存储在叶子节点中,只能有一个,关键字就是表的主键;非聚集索引将表中的数据逻辑存储在叶子节点中,可以有多个,每个索引都有一个指向表中实际行记录的指针。
猜您想看
-
如何在微信中设置新消息提醒?
如何在微信中设...
2023年04月15日 -
Spring Aop事务管理是什么
一、什么是Sp...
2023年05月26日 -
Perl控制结构有哪些
Perl控制结...
2023年07月22日 -
如何解决Steam游戏启动后卡死的问题?
如何解决Ste...
2023年05月03日 -
web中网址到网页显示其间发生了什么
一、 用户输入...
2023年07月22日 -
IRscope代码中ui相关的代码是这样的
UI相关代码概...
2023年07月23日