在什么情况下可以使用B-tree索引
1、全值匹配的查询
order_sn=‘987654321000‘;
2、匹配最左前缀的查询
order_sn order_date 联合索引,第一列可以利用索引
3、匹配列前缀查询
order_sn like ‘9876%‘
匹配某一列的开头部分
4、匹配范围值的查询
order_sn>‘9876532119900‘ and order_sn<‘9999999999999999‘
5、精确匹配左前列并范围匹配另外一列
6、只访问索引的查询
btree索引使用限制
1、not in 和<>操作无法使用索引。
2、如果查询中有某个列的范围查询,则其右边所有列都无法使用索引
hash索引的限制
1、hash索引必须进行二次查找
2、hash索引无法用于排序
3、hash索引不支持部分索引查找也不支持范围查找
4、hash索引中hash码的计算可能存在hash冲突