L'UNION ALL version serait probablement satisfaite assez facilement par 2 recherches d'index. OR peut conduire à des scans. À quoi ressemblent les plans d'exécution ?
Avez-vous également essayé ceci pour éviter d'accéder à Notes deux fois ?
;WITH J AS
(
SELECT UniqueID FROM Leads WHERE LeadID = @LeadID
UNION ALL
SELECT UniqueID FROM Quotes WHERE LeadID = @LeadID
)
SELECT N.* /*Don't use * though!*/
FROM Notes N
JOIN J ON N.TargetUniqueID = J.UniqueID