嵌套循環鏈接,哈希鏈接,排序合併鏈接(2015-2-4學習日記)

==>>嵌套循環鏈接,哈希鏈接,排序合併鏈接排序

-->>嵌套循環鏈接索引

select * from /*+leading(t1) use_nl(t2)*/ from t1,t2 hash

where t1.id=t2.t1_idselect

and t1.n=19;搜索

這個HINT的含義:leading(t1)表示強制先訪問表t1,use_nl表示強制使用嵌套循環鏈接方式。循環

表t1是驅動表,在驅動表的限制條件(t1.n=19)上加索引,加快t1的搜索速度;t2表是被驅動表,在t2的鏈接條件(t1.id=t2.t1_id)字段t1id上加索引,加快t2的搜索速度。di

-->>哈希鏈接

在PGA中的HASH_ARAE_SIZE

select * from /*+leading(t1) use_hash(t2)*/ from t1,t2 

where t1.id=t2.t1_id;

哈希鏈接不支持不等值鏈接<>,不支持>和不支持<的鏈接方式,也不支持like的鏈接方式。

-->>排序合併鏈接

在PGA中SORT_AREA_SIZE

select /*+orderd use_merge(t2)*/ * from  t1,t2 

where t1.id=t2.t1_id;

排序合併鏈接沒有驅動與被驅動的概念。

排序合併鏈接不支持<>,like的鏈接條件,可是支持>或<的鏈接。

相關文章
相關標籤/搜索