mysql索引btree和hash的区别

发布时间:2022-04-13 21:48:58 阅读:1095次

我们知道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加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:mysql索引btree和hash的区别 出自老鄢博客 | 欢迎分享