Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy UNION ALL może być szybszy niż JOIN, czy moje JOIN są po prostu do bani?

UNION ALL wersja byłaby prawdopodobnie dość łatwo zaspokojona przez 2 wyszukiwania indeksu. OR może prowadzić do skanów. Jak wyglądają plany wykonania?

Czy próbowałeś tego również, aby uniknąć dostępu do Notes? dwa razy?

;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  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zdefiniować klucz główny automatycznego przyrostu w SQL Server

  2. Zapytania FREETEXT w SQL Server 2008 nie są dopasowywane do fraz

  3. Dane pionowe SQL Server 2008 na poziome

  4. Aktualizowanie dostawcy danych Crystal Reports

  5. Używanie merge..output do uzyskania mapowania między source.id i target.id