Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

UNION ALL peut-il être plus rapide que les JOIN ou mes JOIN sont-ils simplement nuls ?

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