• MyISAM和InnoDb的关系


    MyISAM索引和数据是分离的(非聚集),非聚集:索引文件叶子节点存储的是索引所在行的磁盘文件地址

    InnoDb主键索引聚集(索引文件叶子节点存储的是索引所在行的真实数据),非主键索引非聚集(非聚集索引树节点的data存的是主键id,所以InnoDb必须有个主键,当然最好是自增整型主键,这符合叶子节点的顺序排序规则,减少insert语句维护索引的成本)

    存储文件的区别:
    MyISAM是索引文件(.MYI)和数据文件(.MYD)分开存储
    InnoDb是索引和数据文件都存在.IBD文件

    索引是帮助mysql高效获取数据的排好序的数据结构

    hash索引和b+tree索引的取舍:
    hash索引不能很好的支持范围查找,但是由于b+tree索引的叶子节点是排好序的双向链表,对范围查找友好(先查到具体的叶子节点,再实现区间访问

    b+tree和btree优劣:
    btree的叶子节点没有双向指针所以范围查找效率不如b+tree
    btree的非叶子节点也存储data,导致相同高度的情况下,b+tree能存储的元素远远大于btree

  • 相关阅读:
    测试面试题集-Python列表去重
    Python列表去重
    测试面试题集-Python花式打印九九乘法口诀表
    Linux之系统操作命令
    Selenium自动化测试-JavaScript定位
    HDU-3530Subsequence (单调队列)
    HihoCoder
    CodeForces
    HDU-1024Max Sum Plus Plus(最大m段子序列和-DP)
    LightOJ
  • 原文地址:https://www.cnblogs.com/cl94/p/13882467.html
Copyright © 2020-2023  润新知