问题
I am New to SSIS(Integration services). I am bit in dilemma when to use Lookup & Merge join Transformations in SSIS.
Please don't tell me differences between them, I know them already. I want to know in which scenarios I have to use Lookup & merge join.
回答1:
The only reason I can think of with the MERGE JOIN is when you have 2 huge unsorted datasources and you cannot pull them all in memory to sort them in the pipeline.
Please explore internet world you will find something for sure..
EDIT
Using Merge Join instead of Lookup
If you need to do a one-time join in your data flow (as opposed to multiple lookups), consider using a Merge Join transform instead of a Lookup transform. Jamie Thomson has a great post which compares the two approaches, and demonstrates that using Merge Join can be a lot more efficient than using a Lookup. The main reason for this is that Merge Join takes a streaming approach, rather than taking time to pre-cache its values. The streaming logic was further improved in SSIS 2012 as well – the Merge Join now prevents one input from getting too many buffers when one source is a lot faster than the other.
Keep the following things in mind when considering this approach:
Both inputs must be sorted. Ideally, this sort can be pushed into the source query. If the data isn’t already sorted (i.e. no indexes), the cost of the sort might outweigh the benefits of this approach. A source component doesn’t end until it has read all of its data, so if your incoming data has a small number of rows, and you’re joining with a much larger data set (which is the case in this particular customer’s scenario), the Merge Join approach isn’t going to be ideal. A Partial Cache lookup tends to work best in these types of scenarios.
Courtesy:
- MSDN WEBSITE
- MattMasson
来源:https://stackoverflow.com/questions/24488779/when-to-use-lookup-merge-join-transformation-in-ssis