У SQL Server ви можете вказати підказки про приєднання:
- HASH ПРИЄДНАЙТЕСЬ
- МЕРЕЖНЕ ПРИЄДНАЙТЕСЬ
- LOOP ПРИЄДНАЙТЕСЬ
Яке визначення цих трьох підказок на приєднання, і коли їх слід використовувати?
У SQL Server ви можете вказати підказки про приєднання:
Яке визначення цих трьох підказок на приєднання, і коли їх слід використовувати?
Відповіді:
Від MSDN у темі Концепцій розширеної настройки запитів :
SQL Server використовує три типи операцій приєднання:
Вкладені вкладені петлі
Злиття приєднується
Хеш приєднується
Якщо один вхід об'єднання невеликий (менше 10 рядків), а інший вхід об'єднання досить великий і індексований на стовпчиках приєднання, індексований вкладення циклів - це найшвидша операція приєднання, оскільки вони вимагають найменшого вводу / виводу та найменшого порівняння. Для отримання додаткової інформації про вкладені петлі див. Розуміння вкладених циклів приєднань.
Якщо два входи об'єднання не малі, але їх сортують у стовпчику приєднання (наприклад, якщо вони були отримані шляхом сканування відсортованих індексів), об'єднання об'єднання є операцією швидкого приєднання. Якщо обидва входи об'єднання великі і два входи мають однаковий розмір, з'єднання об'єднання з попереднім сортуванням та хеш-з'єднанням мають однакову ефективність. Однак операції хеш-з'єднання часто набагато швидше, якщо два розміри вводу значно відрізняються один від одного. Для отримання додаткової інформації див. Розуміння об'єднань.
Хеш-з'єднання можуть ефективно обробляти великі, несортізовані, неіндексовані входи.
Але я вважаю, що ви повинні почати з більш основної теми: Настроювання запитів і нарешті перейти до використання підказок запитів.