私は実行計画を学び始めており、ハッシュマッチが正確にどのように機能するのか、そして単純な結合でそれが使用される理由について混乱しています:
select Posts.Title, Users.DisplayName
From Posts JOIN Users on
Posts.OwnerUserId = Users.Id
OPTION (MAXDOP 1)
私が理解しているように、トップインデックススキャンの結果はハッシュ可能になり、ボトムインデックスクラスタースキャンの各行が検索されます。ハッシュテーブルが少なくともある程度機能することは理解していますが、このような例ではどの値が正確にハッシュされるかについて混乱しています。
私が理にかなっているのは、それらの間の共通フィールドであるidがハッシュされていることですが、もしそうなら、なぜ数値をハッシュするのでしょうか?