mysql 数据库存储结构
B-tree 与哈希索引的区别
B-tree索引
B-tree 索引是按照顺序存储的,所以,如果按照B-tree 索引,可以直接返回带顺序的数据,但这个数据只是该索引列含有的信息,因此是顺序I/O。适用于精准匹配,范围匹配,最左匹配
Hash索引
Hash索引
索引列值的哈希值+数据行指针:因此找到后还需要根据指针去找数据,造成随机I/O
适用于精确匹配
不适用模糊匹配,范围匹配,不能排序
总结:
1.hash索引仅满足‘=’,‘IN’,和‘<=>’ 查询,不能使用范围查询
因为hash索引比较的是hash运算之后的hash值,因此只能进行等值的过滤,
不能基于范围的查找,因为经过hash算法处理后的hash值的大小关系,不能保证与
处理前的hash大小关系对应。
总结:哈希适用于再小范围的精确查找,在列数据很大,又不需要排序,又不需要模糊查询,范围查询时有用。
标签:存储,hash,tree,索引,哈希,Mysql,匹配,数据,结构 From: https://www.cnblogs.com/XiaoYeH/p/16889463.html