索引有哪些结构: Hash索引和B+ Tree索引
因为Hash索引底层是哈希表,哈希表是一种以key-value存储数据的结构,所以多个数据在存储关系上是完全没有任何顺序关系的,所以,对于区间查询是无法直接通过索引查询的,就需要全表扫描。所以,哈希索引只适用于等值查询的场景。
而B+ 树是一种多路平衡查询树,所以他的节点是天然有序的(左子节点小于父节点、父节点小于右子节点),所以对于范围查询的时候不需要做全表扫描
1、哈希索引适合等值查询,但是无法进行范围查询
2、哈希索引没办法利用索引完成排序
3、哈希索引不支持多列联合索引的最左匹配规则
4、如果有大量重复键值的情况下,哈希索引的效率会很低,因为存在哈希碰撞问题