在什麼狀況下使用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衝突

相關文章
相關標籤/搜索