Hash索引

查询效率hash比B+效率高。
hash结果效率高,为什么索引结构要使用树呢?

  1. hash索引近满足 = 、 <>和 IN 查询。如果进行范围查询,哈希型的索引,时间复杂度会倒退到O(n);而树型的“有序”特性,依然能够保持O(log2N)的高效率。
  2. 数据存储结构是无序,在order by的情况下,使用hash索引还需要对数据重新排序。
  3. 对于联合索引,hash值是将联合索引键合并一起计算,无法单独计算一个键或几个索引键联合查询。
  4. 索引列重复值越多,效率越低。这是因为遇到hash冲突时,需要遍历桶中的行指针进行比较,找到查询的关键字,非常耗时。

    B树索引