Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL присъединявания срещу SQL подзаявки (производителност)?

ОЧАКВАМ първата заявка да бъде по-бърза, главно защото имате еквивалентност и изрично JOIN. Според моя опит IN е много бавен оператор, тъй като SQL обикновено го оценява като поредица от WHERE клаузи, разделени с "ИЛИ" (WHERE x=Y OR x=Z OR... ).

Както при ВСИЧКИ НЕЩА SQL обаче, вашият пробег може да варира. Скоростта ще зависи много от индексите (имате ли индекси и в двете ID колони? Това ще помогне много...) наред с други неща.

Единственият РЕАЛЕН начин да разберете със 100% сигурност кой е по-бърз е да включите проследяването на производителността (IO Statistics е особено полезно) и да ги стартирате и двете. Не забравяйте да изчистите кеша си между изпълненията!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Настройка и конфигуриране на винаги включена група за наличност в SQL Server

  2. разработване на SQL 2005 приложение с помощта на SQL 2008 сървър

  3. Изберете колона, ако другата колона е нула

  4. SqlServer е в режим на надграждане на скрипт

  5. Как да преименувате база данни в SQL Server - SQL Server / TSQL урок, част 26