Loading

Mysql 数据存储结构

mysql  数据库存储结构

    B-tree 与哈希索引的区别

B-tree索引

        B-tree 索引是按照顺序存储的,所以,如果按照B-tree 索引,可以直接返回带顺序的数据,但这个数据只是该索引列含有的信息,因此是顺序I/O。适用于精准匹配,范围匹配,最左匹配

Hash索引

        Hash索引

        索引列值的哈希值+数据行指针:因此找到后还需要根据指针去找数据,造成随机I/O

适用于精确匹配

不适用模糊匹配,范围匹配,不能排序

总结:

1.hash索引仅满足‘=’,‘IN’,和‘<=>’ 查询,不能使用范围查询

           因为hash索引比较的是hash运算之后的hash值,因此只能进行等值的过滤,

不能基于范围的查找,因为经过hash算法处理后的hash值的大小关系,不能保证与

处理前的hash大小关系对应。

总结:哈希适用于再小范围的精确查找,在列数据很大,又不需要排序,又不需要模糊查询,范围查询时有用。

 

         

     

posted @ 2022-11-14 16:37  远乡人  阅读(101)  评论(0)    收藏  举报