Tôi đang bắt đầu tìm hiểu các kế hoạch thực hiện và bối rối về cách chính xác một trận đấu băm hoạt động và lý do tại sao nó sẽ được sử dụng trong một phép nối đơn giản:
select Posts.Title, Users.DisplayName
From Posts JOIN Users on
Posts.OwnerUserId = Users.Id
OPTION (MAXDOP 1)
Theo tôi hiểu, kết quả của việc quét chỉ mục hàng đầu trở thành khả năng băm và mỗi hàng trong phần quét chỉ mục dưới cùng được tìm kiếm. Tôi hiểu cách các bảng băm hoạt động ở ít nhất một mức độ nào đó, nhưng tôi bối rối về việc giá trị nào được băm chính xác trong một ví dụ như thế này.
Điều có ý nghĩa với tôi là trường chung giữa chúng, id, được băm - nhưng nếu đây là trường hợp, tại sao lại băm một số?