美文网首页
Hash结构

Hash结构

作者: 笨比乔治 | 来源:发表于2020-11-20 09:56 被阅读0次

1.MySQL5.5版本后默认使用InnoDB存储引擎

74AA5C5AD5FBAA9AAFA8906453008C27.png
InnoDB存储引擎就是用B+树实现其索引结构
索引是数据结构
排好序的快速查找B+树数据结构。
B+树中的B代表(balance)而不是二叉(binary)
在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
B树 多路平衡查找树
IMG_2153(20201031-152502).JPG

区别
1.二叉树会右倾 比如自增队列

image.png
2.平衡二叉树AVL 如果数据量太大,也不行,从瘦高变成矮胖
平衡二叉树又称之为AVL树,之所以多了一个“平衡”二字,是因为和二叉树相比较,左右树高度相差不高于1。
image.png
3.B树 23树 与AVL在于可以减少IO操作,当数据量很大时,整棵树的体量也会很大,每次读取到内存中的树的信息就会很大,消耗资源。
B树与平衡二叉树相似,不同的是B树属于多叉树,又名 平衡多路查找树,数据库索引技术里大量使用是B树和B+树的数据结构,顾名思义,就是每个节点上可以存储多个数值元素。与平衡二叉树不同的是,B树所有的叶子节点都处于同一层级。不存在层级高度差的问题。
IMG_2154(20201031-155313).JPG
image.png
IMG_2156(20201031-155800).JPG
4.B+树
B+树则刚好可以解决这个问题,B树和B+树,本质上都是一样的,只是B+树所有的跟节点和枝节点上只保存关键字索引和其子节点指针,所有的数据信息都被保存到了叶子节点,这样每个枝节点可以存储更多的数据,从而降低树的层级高度,并且所有的叶子节像是一个链表一样,指向右边的叶子节点,从而可以有效加快检索效率,如果需要遍历所有的数据,只需要遍历叶子节点链式结构即可,方便且高效。
image.png
根节点
枝节点
叶子节点
所有的data信息都移动到叶子节点中,而且子节点和子节点之间会有个指针指向,这个也是B+树的核心点,这样可以大大提升范围查询效率,也方便遍历整个树。
1.非叶子节点不再存储数据,数据只存储在同一层的叶子节点上;
2.叶子之间,增加了链表,获取所有节点,不再需要中序遍历(左中右)。
IMG_2157(20201031-161726).JPG
IMG_2158(20201031-161950).JPG

区别
非叶子节点只存储键值信息
所有叶子节点之间都有一个链指针
数据记录都存放在叶子节点中

相关文章

  • 面试准备——HashMap原理

    Hash表 Hash表的结构就是顺序表+链表的结构Hash表(jdk1.7)中内部是HashMapEntry

  • Redis中String和Hash哪个结构更加省内存

    简略答案:在Redis的hash结构使用ziplist编码且存储相同信息时,hash结构比sring结构更加节省内...

  • redis常见问题

    1.redis数据结构 redis五种数据结构StringHash 优点由于Hash结构会在单个Hash元素在不足...

  • Jedis操作不同数据类型

    一、String结构 二、Hash结构 三、List结构 四、Set结构 五、SortedSet结构

  • 2021超详细的HashMap原理分析,面试官就喜欢问这个!

    一、散列表结构 散列表结构就是数组+链表的结构 二、什么是哈希? Hash也称散列、哈希,对应的英文单词Hash,...

  • redis 系列--转

    项目模块 case-hash:hash数据结构案例 case-list:list数据结构案例 case-set:s...

  • leetcode138.复制带随机指针的链表

    题目链接 题目描述: 思路一:Hash 使用hash表这种数据结构。hash-key存储原链表的节点,hash-v...

  • Hash Tree

      Hash Tree 是一种高效数据查询树形结构。其结构固定,不会存在其他树形结构出现退化的情况。听到Hash...

  • HMSET

    HMSET 使用结构体,为hash表添加字段。并利用结构体,将hash表的字段的值取出并赋值到结构体 使用普通命令...

  • innodb的b+树索引结构

    一、innodb索引结构为什么是树结构,不是hash结构。hash索引,时间复杂度为O(1),平衡二叉树的时间复杂...

网友评论

      本文标题:Hash结构

      本文链接:https://www.haomeiwen.com/subject/lumsvktx.html