Trong SQL Server, bạn có thể chỉ định các gợi ý tham gia:
- HASH THAM GIA
- MERGE THAM GIA
- LOOP THAM GIA
Định nghĩa của ba gợi ý tham gia đó là gì và khi nào nên sử dụng mỗi gợi ý?
Trong SQL Server, bạn có thể chỉ định các gợi ý tham gia:
Định nghĩa của ba gợi ý tham gia đó là gì và khi nào nên sử dụng mỗi gợi ý?
Câu trả lời:
Từ MSDN, trong chủ đề Khái niệm điều chỉnh truy vấn nâng cao :
SQL Server sử dụng ba loại hoạt động tham gia:
Các vòng lặp lồng nhau tham gia
Hợp nhất tham gia
Hash tham gia
Nếu một đầu vào nối nhỏ (dưới 10 hàng) và đầu vào nối khác khá lớn và được lập chỉ mục trên các cột nối của nó, thì một vòng lặp lồng nhau chỉ mục là thao tác nối nhanh nhất vì chúng yêu cầu ít I / O nhất và ít so sánh nhất. Để biết thêm thông tin về các vòng lặp lồng nhau, hãy xem Tìm hiểu về các vòng lặp lồng nhau.
Nếu hai đầu vào nối không nhỏ nhưng được sắp xếp trên cột nối của chúng (ví dụ: nếu chúng được lấy bằng cách quét các chỉ mục được sắp xếp), thì phép nối hợp nhất là thao tác nối nhanh nhất. Nếu cả hai đầu vào tham gia đều lớn và hai đầu vào có kích thước tương tự nhau, một kết hợp hợp nhất với sắp xếp trước và tham gia băm cung cấp hiệu suất tương tự. Tuy nhiên, hoạt động băm tham gia thường nhanh hơn nhiều nếu hai kích thước đầu vào khác nhau đáng kể. Để biết thêm thông tin, hãy xem Tìm hiểu Hợp nhất Tham gia.
Các phép nối băm có thể xử lý hiệu quả các đầu vào lớn, chưa sắp xếp, không được lập chỉ mục.
Nhưng tôi tin rằng bạn nên bắt đầu với một chủ đề cơ bản hơn: Điều chỉnh truy vấn và cuối cùng chuyển sang sử dụng các gợi ý truy vấn.