Hash索引
Hash索引实际上是采用Hash算法,将键值换算成新的hash值,映射到对应的槽位上,然后存储在hash表中。
如果两个或多个键值,映射到相同的槽位上,它们就会产生冲突,也称hash碰撞,可以通过链表来解决hash冲突,相同的键值对象将会按照链表链接在当前槽位的后续节点中。
比如:
hash索引的特点:
只支持等值匹配,不支持范围查询。
无法利用索引来完成排序操作。
查询效率高,通常只需要一次检索就可以了,效率通常高于B+Tree索引。
在Mysql中,支持hash索引的是Memory引擎,而InnoDB中具有自适应hash功能,hash索引是存储引擎根据B+Tree索引在指定条件下自动构建的。