美文网首页
mysql索引

mysql索引

作者: 何何与呵呵呵 | 来源:发表于2021-05-19 19:54 被阅读0次

    B-树结构

    image.png

    1.叶子节点具有相同的高度,叶子节点的指针为空
    2.节点中的数据索引从左到右递增排列
    3.所有节点都存储data

    B+树结构

    image.png

    1.非叶子节点不存储数据
    2.叶子节点包含所有索引字段
    3.叶子节点之间通过索引连接,提高查询性能。

    Hash表

    image.png

    1.对索引求hash值就能查到对应的buket
    2.很多时候查询效率比tree快,但仅能满足=,in的查找
    3.hash冲突问题

    MyISAM存储引擎

    image.png

    非聚集索引,索引和文件分离

    InnoDB存储引擎


    image.png

    1.数据本身按B+树组织的索引结构文件
    2.聚集索引叶子节点包含所有数据
    3.为什么推荐使用整形的自增Id?你不创建mysql自动帮你创建,增加数据库的压力,整形可以节省空间而且自增ID保证主数据递增而且无重复。其次提高范围查找效率,增加排序效率,提高扫表能力,顺序访问。如果主键是非自增 id,为了确保索引有序,mysql 就需要将每次插入的数据都放到合适的位置上。
    4.为什么非主键索引叶子节点保存的是主键id?不应考虑数据的一致性,而且可以节省索引的空间。

    联合索引

    image.png

    相关文章

      网友评论

          本文标题:mysql索引

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