在什么状况下使用B-tree索引和哈希索引

在什么状况下能够使用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冲突

相关文章
相关标签/搜索