The Data Integration Service can apply semi-join optimization to a Joiner transformation if the transformation meets the following requirements:
The join type must be normal, master outer, or detail outer. The joiner transformation cannot perform a full outer join.
The detail pipeline must originate from a relational source.
The join condition must be a valid sort-merge-join condition. That is, each clause must be an equality of one master port and one detail port. If there are multiple clauses, they must be joined by AND.
If the mapping does not use target-based commits, the Joiner transformation scope must be All Input.
The master and detail pipelines cannot share any transformation.
The mapping cannot contain a branch between the detail source and the Joiner transformation.