IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:哈希索引

共 1 篇相关文章

IT 累计浏览 4,890

MySQL B+树索引和哈希索引的区别

这篇讲的是 MySQL 里 B+树索引和哈希索引这两种常用数据结构的根本区别。作者从它们的数据结构图示出发,清晰地揭示了核心差异。 B+树是一个平衡的多叉树,节点间有指针链接,所以它不仅擅长等值查询,也天然支持范围查询、排序以及遵循最左匹配原则的联合索引。而哈希索引通过一次算法运算就能直接定位数据,在等值查询上速度极快,但代价是它破坏了数据的有序性,因此无法用于范围查询、排序和部分模糊查询。 文章还特别指出,只有 MEMORY 引擎能显式创建哈希索引,而 InnoDB 的自适应哈希索引不在此列。同时提醒了哈希索引在数据重复度高时可能遇到的哈希碰撞问题,以及 MEMORY 引擎表重启后数据会丢失的特性。 结论很实用:大多数需要范围查询、排序的通用场景,请坚定地选择 B+树索引。只有在使用 MEMORY 表、数据基数大且仅进行简单等值查询时,哈希索引才是更合适的选择。