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+树存储结构,可以有效地提高查询效率,索引分为聚集索引和非聚集索引,聚集索引将表中的数据物理存储在叶子节点中,只能有一个,关键字就是表的主键;非聚集索引将表中的数据逻辑存储在叶子节点中,可以有多个,每个索引都有一个指向表中实际行记录的指针。
猜您想看
-
宝塔使用技巧:如何设置 Nginx 反向代理缓存时间
Nginx反向...
2023年05月08日 -
如何在Windows上创建新用户账户
在Window...
2023年05月06日 -
Python如何批量合并表格
批量合并表格是...
2023年07月23日 -
eap系统指的是什么意思
EAP系统的概...
2023年07月21日 -
如何在Linux系统中进行性能测试和压力测试
SEO软文:如...
2023年05月10日 -
dubbo的spi思想是什么
一、什么是du...
2023年05月22日