数据结构图示例网站:Data Structure Visualization

索引数据结构:

        二叉树

        红黑树

        Hash表

        B-Tree

B-Tree,特点:(每个节点都存储key和data,叶子节点指针为null)

        1、叶节点具有相同的深度,叶节点的指针为空

        2、所有索引元素不重复

        3、节点中的数据索引从左到右递增排列

如下图:

 B+树,特点:只有叶子节点存储data,非叶子节点的数据是冗余的,叶子节点包含了所有数据,叶子节之间有指针指向相邻叶子节点

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

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

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

如下图:

 

hash结构:

        1、对索引的key进行一次hash计算即可定位出数据存储的位置,很多时候效率高于B+树

        2、仅能满足=、IN,不支持范围查询

        3、hash冲突问题

 聚集索引和非聚集索引:

        非聚集索引,如MyISAM,索引文件和数据文件是分离的,分开存放;

        聚集索引,如InnoDB,索引文件和数据文件是一起存放的;

区别:

聚集索引非聚集索引一个表有几个只能有一个(包含了数据)可以有多个存储的数据物理上连续逻辑上连续插入数据速度慢(数据存储的排序)快

使用非聚集查询的时候,可以的话就避免二次查询(回表),可大大提升性能

 

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。