哈希表實(shí)現(xiàn)原理 哈希表怎么應(yīng)用?
哈希表怎么應(yīng)用?1. 對(duì)于sort-merge-join,如果應(yīng)用了目標(biāo)SQL中指定的謂詞條件后,兩個(gè)表的結(jié)果集較大,需要排序,則sort-merge-join的執(zhí)行效率不高。2. 對(duì)于嵌套循環(huán)聯(lián)接,
哈希表怎么應(yīng)用?
1. 對(duì)于sort-merge-join,如果應(yīng)用了目標(biāo)SQL中指定的謂詞條件后,兩個(gè)表的結(jié)果集較大,需要排序,則sort-merge-join的執(zhí)行效率不高。
2. 對(duì)于嵌套循環(huán)聯(lián)接,如果驅(qū)動(dòng)表對(duì)應(yīng)的驅(qū)動(dòng)結(jié)果集中的記錄數(shù)很大,即使驅(qū)動(dòng)表的聯(lián)接列上有索引也是如此。
3. 此時(shí),嵌套循環(huán)連接的執(zhí)行效率也不高。為了解決這個(gè)問題,Oracle引入了hash連接。
4. 在oracle10g及更高版本中,優(yōu)化器(實(shí)際上是CBO,因?yàn)閔ash join只對(duì)CBO可用)。