开发者社区> 问答> 正文

Hash索引是什么?

Hash索引是什么?

展开
收起
问问小秘 2020-01-03 16:17:25 1163 0
1 条回答
写回答
取消 提交回答
  • 基于哈希表实现,只有精确匹配索引所有列的查询才有效,对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码(hash code),并且Hash索引将所有的哈希码存储在索引中,同时在索引表中保存指向每个数据行的指针。 image.png B-Tree能加快数据的访问速度,因为存储引擎不再需要进行全表扫描来获取数据,数据分布在各个节点之中。

    image.png

    案例:假设有一张学生表,id为主键
    image.png 在MyISAM引擎中的实现(二级索引也是这样实现的)
    image.png

    在InnoDB中的实现

    image.png

    image.png

    2020-01-03 16:19:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载