zoukankan      html  css  js  c++  java
  • B+树:MySql数据库索引是如何实现的

    B+树:MySql数据库索引是如何实现的

    索引:是帮助MySQL高效获取数据的数据结构。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需要的内容。

    数据量很大,几十万几百万,用二叉树,二分查找(每个节点最多拥有两个子节点)不太可能。

    局部性原理:当一个数据被用到的时候,它附近的数据也会马上被用到,所以磁盘在读取数据的时候会把其附近的数据也一并读取。

    B树,一个节点可以有多个节点

    B树会被设为 4kb大小(一页大小)。子节点存储的个数在 100 - 1000之间

    关键字对应的数据是记录在硬盘上存储的位置

    B+树

    • 非叶节点只存放搜索关键字
    • 叶子节点会链接起来,形成所谓的链表(方便查找)
    • 索引能力更强,搜索关键字更多

    MYISAM :

    • 主索引 Key唯一, 辅助索引 key可以重复,没有什么区别,地位平等
    • data 记录的是数据存放的地址,到硬盘上读取数据
    • 有单独的索引文件
    • 非具体索引

    InnoDB:

    • 没有索引文件
    • 叶子节点保存完整的数据记录
    • 具体索引(必须有主键)
    • 用主键进行索引,非常高效
    • 辅助索引要先定位到主键,在通过主键索引得到data域
  • 相关阅读:
    TeX系列: tikz-3dplot绘图宏包
    TeX系列: MATLAB和LaTeX结合绘图
    Tex系列: pgfplots安装
    C 标准库
    C 标准库
    C 标准库
    C 标准库
    C 标准库
    C 标准库
    C 标准库
  • 原文地址:https://www.cnblogs.com/AronJudge/p/14525447.html
Copyright © 2011-2022 走看看