在什么状况下能够使用B-tree索引排序
一、全值匹配的查询索引
order_sn='987654321000';hash
二、匹配最左前缀的查询date
order_sn order_date 联合索引,第一列能够利用索引查询
三、匹配列前缀查询
order_sn like '9876%'
匹配某一列的开头部分
四、匹配范围值的查询
order_sn>'9876532119900' and order_sn<'9999999999999999'
五、精确匹配左前列并范围匹配另一列
六、只访问索引的查询
btree索引使用限制
一、not in 和<>操做没法使用索引。
二、若是查询中有某个列的范围查询,则其右边全部列都没法使用索引
hash索引的限制
一、hash索引必须进行二次查找
二、hash索引没法用于排序
三、hash索引不支持部分索引查找也不支持范围查找
四、hash索引中hash码的计算可能存在hash冲突