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),不支持范围查询、模糊查询