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

SQL Joins vs podzapytania SQL (wydajność)?

OCZEKUJĘ, że pierwsze zapytanie będzie szybsze, głównie dlatego, że masz równoważność i wyraźne JOIN. Z mojego doświadczenia IN jest bardzo wolnym operatorem, ponieważ SQL zwykle ocenia go jako serię WHERE klauzule oddzielone „OR” (WHERE x=Y OR x=Z OR... ).

Podobnie jak w przypadku ALL THINGS SQL, przebieg może się różnić. Szybkość będzie zależeć w dużej mierze od indeksów (czy masz indeksy w obu kolumnach ID? To bardzo pomoże...) między innymi.

Jedynym PRAWDZIWYM sposobem, aby ze 100% pewnością stwierdzić, który jest szybszy, jest włączenie śledzenia wydajności (szczególnie przydatne są statystyki IO) i uruchomienie ich obu. Pamiętaj, aby wyczyścić pamięć podręczną między uruchomieniami!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, jak przeprowadzać analizę produktów za pomocą wyszukiwania pełnotekstowego programu SQL Server. Część 2

  2. Konwersja nie powiodła się podczas konwertowania wartości varchar „none” na typ danych int

  3. Jak mogę programowo utworzyć DSN?

  4. połącz dwie liczby całkowite i wynik jako łańcuch w SQL

  5. Konfigurowanie uwierzytelniania dwuskładnikowego