join (db2)

yellowlee發表於2009-07-08

表連線的方式 NLJoin, Hash Join, Sort Merge Join
表的連線方式

Nest Loop Join

1, 被連線的表較小。
2, 掃描整張表,每掃描一條記錄,就去另外一個表中去找,因此如果被找表比較小的話,這個也是一種很好的選擇。當然前提是要有索引
3, 驅動表不大,被驅動表要有索引

Hash Join

1, 驅動表不大,在記憶體中建立連線欄位的Hash表,然後再掃描被驅動表,找到匹配的hash值。
2, 被驅動表是沒有索引的

Sort Merge Join

1, 連線的2張表進行全表掃描
2, 對掃描的表進行排序Sort
3, 對排序的結果進行合併Merge

很多時候,優化器會根據應用來選擇最佳的Join方式

轉載請註明源自www.DB2China.net,請保留版權.
原文地址:http://www.db2china.net/club/viewthread.php?tid=378

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16179598/viewspace-608565/,如需轉載,請註明出處,否則將追究法律責任。

相關文章