1. 程式人生 > >在什麽情況下使用B-tree索引和哈希索引

在什麽情況下使用B-tree索引和哈希索引

聯合 not gpo 情況 b-tree索引 精確 限制 匹配 date

在什麽情況下可以使用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沖突

在什麽情況下使用B-tree索引和哈希索引