zoukankan      html  css  js  c++  java
  • MySQL B+树

    二叉查找树:
    二叉查找树的特点就是任何节点的左子节点的键值都小于当前节点的键值,右子节点的键值都大于当前节点的键值。顶端的节点我们成为根节点,没有子节点的我们称为叶节点。
    平衡二叉树:
    平衡二叉树保证了树的构造是平衡的,当我们插入或删除数据导致平衡二叉树不平衡时,平衡二叉树会调整树上的节点来保持平衡
    B 树:
    B树相对于平衡二叉树,每个节点储存了更多的键值和数据,并且每个节点拥有更多的子节点,每个节点称为页,子节点的个数一般称为阶
    B+ 树:
    非叶子节点只存储键值信息

    数据记录都存放在叶子节点中

    所有叶子节点之间都有一个链指针

    B+树非叶子节点上是不储存数据的,仅存储键值;而B树节点中不仅储存键值,也会储存数据
    所有数据均储存在叶子节点中,而且数据是按照数据排列的,所有B+树使用范围查找,排序查找,分组查找,以及去重查找变得异常简单。
    B+ 树索引按照储存方式的不同分为聚集索引,和非聚集索引
    聚集索引
    以Innodb作为储存引擎的表,表中数据都有一个主键,若不创建主键,系统会进行隐式创建
    这是因为Innodb把数据存放在B+树中,而B+树的键值就是主键,在B+树的叶子节点中,储存了表中的所以数据
    这种以主键作为B+树索引的键值而构建的B+树索引,称之为聚集索引。
    非聚集索引
    以主键以外的列值作为键值构建B+树索引,称之为非聚集索引
    非聚集索引和聚集索引的区别在于 非聚集索引的叶子节点不储存表中的数据,而是储存该列对应的主键,查找数据需要根据主键再去聚集索引中查找,在根据聚集索引查找数据的过程,成为回表


    参考:

    http://www.liuzk.com/410.html
    https://blog.csdn.net/sinat_32176267/article/details/85460695

  • 相关阅读:
    【leetcode】500. Keyboard Row
    【排序算法汇总】5类8种排序算法
    【leetcode】339. Nested List Weight Sum
    ArcCatalog中将SQLServer中的空间数据导入到Oracle库中
    初学ArcGIS API for JavaScript
    ArcGIS API for JavaScript开发环境配置
    shapefile与gdb中不能允许存在的几何错误
    C#中的Dictionary字典类介绍(转载)
    泛型Dictionary<string,string>的用法
    空间数据存储格式wkb和wkt(转载)
  • 原文地址:https://www.cnblogs.com/blue-t/p/14598597.html
Copyright © 2011-2022 走看看