Bert Wagner takes us through a scenario where it can be faster to combine queries with UNION ALL
rather than using IN
:
Even though this query reads the whole clustered index to get the
Benefactor
rows, the total number of logical reads is still smaller than the seek/key lookup pattern seen in the combined query with IN(). This UNION ALL version gives SQL Server the ability to build a hybrid execution plan, combining two different techniques to generate a plan with fewer overall reads.
Click through for the example.