mysql表的底层存储是以b+树的形式存储的吗

MySQL 中的 InnoDB 存储引擎使用 B+树作为其索引结构的基础。InnoDB 是 MySQL 默认的事务型存储引擎,它支持 ACID 事务、行级锁定和外键约束等特性。

InnoDB 的表数据和索引都被存储在一个称为聚簇索引(clustered index)的 B+树结构中。
在聚簇索引中,数据行实际上存储在叶子节点上,这意味着表数据与主键索引紧密绑定,按照主键的顺序存储。这种结构的优势是,对主键的查询可以非常快速,因为索引和数据都在同一个结构中。

对于非主键索引(也称为辅助索引或二级索引),InnoDB 同样使用 B+树结构,但是叶子节点不直接包含数据行的全部数据。
相反,它们包含了对应数据行的主键值。当通过非主键索引进行查询时,InnoDB 首先在辅助索引的 B+树中查找,然后使用找到的主键值在聚簇索引的 B+树中检索完整的数据行。(第二步,回到主键索引树搜索的过程,我们称为回表)

总结一下,InnoDB 使用 B+树作为聚簇索引和非聚簇索引的数据结构,这使得它在执行范围查询和顺序访问时非常高效,同时也支持快速的插入、删除和更新操作。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值