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 @   远乡人  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示
主题色彩