Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

O UNION ALL pode ser mais rápido que os JOINs ou meus JOINs são ruins?


O UNION ALL versão provavelmente seria satisfeita com bastante facilidade por 2 buscas de índice. OR pode levar a varreduras. Como são os planos de execução?

Você também tentou isso para evitar acessar Notes duas vezes?
;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