我们知道mysql索引可以大大提高检索的速度
索引用来快速寻找特定的数据值,如果没有索引,查询时需要遍历整张表。
索引的原理
1、把创建了索引的列内容排序
2、排序结果生成倒排表
3、在倒排表内容上拼上数据地址
4、在查询时,先找到倒排表内容,再取出地址,最后找到数据
btree和hash有什么区别
1、innodb存储引擎默认的索引是btree
2、btree可以用作范围查询,比如 >,>=,<,<=和between,hash只能对等查询
3、hash一次定位数据,btree总是从根到叶子节点,所以hash检索效率高
4、hash不支持使用索引排序
5、hash不支持模糊查询以及最左前缀匹配
6、hash一定要回表查询数据
7、hash等值查询效率不一定比btree高
如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术
转载请注明:mysql索引btree和hash的区别 出自老鄢博客 | 欢迎分享