Я починаю вивчати плани виконання і я плутаюсь щодо того, як саме працює хеш-матч і чому він буде використаний у простому з'єднанні:
select Posts.Title, Users.DisplayName
From Posts JOIN Users on
Posts.OwnerUserId = Users.Id
OPTION (MAXDOP 1)
Як я розумію, результати сканування верхнього індексу стають хешованими, і кожен рядок у нижньому скануванні кластеризованого індексу переглядається вгору. Я розумію, як працюють хеш-таблиці принаймні до деякої міри, але я плутаюсь, які значення точно хешируються на прикладі, як цей.
Що має сенс для мене, це загальне поле між ними, id, хеширується - але якщо це так, то чому хеш-номер?