Tôi đang cố gắng tìm hiểu thêm về toán tử kế hoạch truy vấn "kiểm tra tham chiếu khóa ngoài" được giới thiệu trong SQL Server 2016. Không có nhiều thông tin về nó ngoài đó. Microsoft đã công bố nó ở đây và tôi viết blog về nó ở đây . Toán tử mới có thể được nhìn thấy bằng cách xóa một hàng khỏi bảng cha với 254 tham chiếu khóa ngoài trở lên: liên kết dbfiddle .
Có ba số lượng khác nhau được hiển thị trong chi tiết toán tử:
- Số tham chiếu khóa ngoài là số lượng khóa ngoại đến.
- Không có Chỉ số phù hợp Đếm là số lượng khóa ngoại đến mà không có chỉ mục phù hợp. Xác minh rằng bảng đã cập nhật hoặc bị xóa sẽ không vi phạm ràng buộc đó sẽ yêu cầu quét bảng con.
- Tôi không biết Số lượng Chỉ số Kết hợp Phần nào thể hiện.
Một chỉ số phù hợp một phần trong bối cảnh này là gì? Tôi đã không thể làm cho bất kỳ điều sau đây để làm việc:
- Các chỉ mục được lọc
- Đặt cột khóa ngoại làm
INCLUDE
cột cho chỉ mục - Các chỉ mục với cột khóa ngoại là cột khóa thứ hai
- Chỉ mục cột đơn cho nhiều khóa ngoại cột
- Tạo nhiều chỉ mục bao phủ để cho phép kế hoạch "tham gia chỉ mục" cho khóa ngoại nhiều cột
Dan Guzman chỉ ra rằng nhiều khóa ngoại có thể khớp với các chỉ mục ngay cả khi các khóa chỉ mục theo thứ tự khác với các cột khóa ngoại. Mã của anh ta ở đây trong trường hợp ai đó có thể sử dụng nó làm điểm bắt đầu để tìm hiểu thêm về các chỉ mục khớp một phần.