H__D  

预备知识

  1、【算法】红黑树原理和算法介绍

  2、【算法】B树、B+树详解

MySQL索引数据结构详解

  参考:https://blog.csdn.net/nihaoa50/article/details/90212833

MySQL聚集索引与非聚集索引

1、InnoDB引擎

  聚集索引中,B+树的叶子节点存放的实际数据的地址

  非聚集索引中,B+树的叶子结点存放的是对应主键的值,根据对应主键的值查找实际数据的地址(这里也就是回表的概念)

  参考:https://www.cnblogs.com/yanggb/p/11252966.html

2、MyISAM引擎

  聚集索引与非聚集索引一样,都存放的是地址值

  参考:http://www.360doc.com/content/19/1021/05/15750360_868083149.shtml   

MySQL索引方法

1、使用B+树存储索引

  • 非叶子节点不存储data,只存储索引(冗余),可以放更多的索引

  • 叶子节点包含所有索引字段

  • 叶子节点用指针连接,提高区间访问的性能

2、使用Hash存储索引

  • 对索引的key进行一次hash计算就可以定位出数据存储的位置

  • 很多时候Hash索引要比B+ 树索引更高效

  • 仅能满足 “=”,“IN”,不支持范围查询

  • hash冲突问题

 

 

 

 

 

 

posted on 2021-05-02 18:11  H__D  阅读(166)  评论(0编辑  收藏  举报