AVL树、红黑树、B树、B+树

AVL是平衡搜索树
红黑树
B树
B+树
本文将要搞清各种树之间的区别和关系。
首先,MySQL的存储引擎有InnoDB、MyISAM、MEMORY,MySQL主要的索引类型主要有FULLTEXT,HASH,BTREE,RTREE。FULLTEXT即全文索引,MyISAM存储引擎和InnoDB存储引擎在MySQL5.6.4以上版本支持全文索引,一般用于查找文本中的关键字,而不是直接比较是否相等,多在CHAR,VARCHAR,TAXT等数据类型上创建全文索引。全文索引主要是用来解决WHERE name LIKE "%zhang%"等针对文本的模糊查询效率低的问题。HASH即哈希索引,哈希索引多用于等值查询,时间复杂夫为o(1),效率非常高,但不支持排序、范围查询及模糊查询等。BTREE即B+树索引,INnoDB存储引擎默认的索引,支持排序、分组、范围查询、模糊查询等,并且性能稳定。RTREE即空间数据索引,多用于地理数据的存储,相比于其他索引,空间数据索引的优势在于范围查找

B树的基本概念
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
B树的插入(不管是插入还是删除都需要先进行查找操作)
插入了68
在这里插入图片描述
进行分裂
在这里插入图片描述
再次分裂
在这里插入图片描述
B树的删除
第一种情况:例如删除68
在这里插入图片描述
第二种情况:例如删除50
在这里插入图片描述
在这里插入图片描述
第三种情况:例如删除28
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第四种情况:例如删除70
在这里插入图片描述
在这里插入图片描述
B+树
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B树和B+树最主要的区别主要有两点:

B树中的内部节点和叶子节点均存放键和值,而B+树的内部节点只有键没有值,叶子节点存放所有的键和值。

B+树的叶子节点是通过相连在一起的,方便顺序检索。

聚簇索引和非聚簇索引最主要的区别是数据和索引是否分开存储。

聚簇索引:将数据和索引放到一起存储,索引结构的叶子节点保留了数据行。
非聚簇索引:将数据进和索引分开存储,索引叶子节点存储的是指向数据行的地址。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值