B-Tree(B+Tree)与Hash索引的限制

index(name,age,sex)

B-Tree ( B+Tree ) 限制

  • 查询条件不包括最左列,无法使用索引

where age = 5 and sex = 1 无法使用索引

  • 跳过了索引中的列,则无法完全使用索引

where name ='mooc' and sex = 32 只能用name这一列

  • 查询中有某个列的范围(模糊)查询,则其右边所有列都无法使用索

where name ='mooc' and age > 32 and sex = 1 只能用name、age两列

Hash索引限制

  • 一般性能比BTree要好一些

  • Hash冲突越严重,性能下降越厉害

  • Hash索引并不是按照索引值排序,所以没法使用排序

  • 不支持部分索引列匹配查找

hash(a, b) => where a = 1

  • 只支持等值查询(例如 IN),不支持范围查询、模糊查询

posted @ 2023-02-07 17:40  云の彼端  阅读(35)  评论(0)    收藏  举报