sql >> Base de Datos >  >> RDS >> Sqlserver

¿Puede UNION ALL ser más rápido que JOIN o mis JOIN simplemente apestan?

El UNION ALL La versión probablemente se satisfaga con bastante facilidad con 2 búsquedas de índice. OR puede dar lugar a exploraciones. ¿Cómo son los planes de ejecución?

También has probado esto para evitar acceder a Notes dos veces?

;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