色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

lookup3和join的區(qū)別

吉茹定2年前11瀏覽0評論

lookup3和join的區(qū)別?

關(guān)于lookup和join的區(qū)別,不同工具有類似的方式和原理,但功能特點各有不同。

首先lookup典型的1對N關(guān)聯(lián),而join可以N對M。此外lookup一般是左外連接(假設(shè)主表在左的設(shè)計思路),join則可以分開指定內(nèi)或左外或者右外或者全外連接。lookup通常可以全部或部分緩沖進(jìn)入內(nèi)存,join則不一定,不同工具的做法差別挺大。lookup其實不少工具并不需要sort,因為是通過lookup key類似hash索引來定位,而join則分merge join和hash join,merge sort做數(shù)據(jù)倉庫的時候很吃虧的,因為數(shù)據(jù)需要先排序才能join,以數(shù)據(jù)倉庫的大數(shù)據(jù)這么join幾次后就開銷很大了,通常etl工具本身所實現(xiàn)的方式都是sort merge。hash join那就不需要將數(shù)據(jù)排序后關(guān)聯(lián),而現(xiàn)在最新的oracle,db2,teradata都有hash join的方式來提高性能,sql 2005好像也有了,iq就不是很清楚,其他的就更不清楚了。實際項目中,工具中的join未必比數(shù)據(jù)庫快,還是要具體項目看,當(dāng)然工具的好處是可以join異構(gòu)數(shù)據(jù)源。但是往往etl工具作lookup比在db里面join效率要高。