- Nếu bạn muốn tham gia vào
Purchases.CustomerID
bạn nên đặt một chỉ mục trên đó. - Nếu bạn thường truy vấn về các phạm vi giá trị, bạn cũng nên đặt chỉ mục cho phạm vi đó.
Vì bạn đang yêu cầu máy chủ SQL lựa chọn giữa hai gói không hợp lệ.
SQL Server có thể đoán gần đúng số lượng giao dịch mua sẽ được bao gồm trong > 1000
và sẽ chọn một kế hoạch dựa trên đó.
Tuy nhiên, nó không thể đoán có bao nhiêu sẽ được bao phủ bởi truy vấn UDF, vì vậy có thể chọn một kế hoạch khác. Bởi vì nó đang diễn ra thiếu hiểu biết, nó có thể tốt hơn hoặc tệ hơn so với kế hoạch khác tùy thuộc vào mức độ tốt của nó.
Bạn có thể thấy các kế hoạch được tạo và nó sẽ cho bạn biết số hàng ước tính trong mỗi kế hoạch và cả số thực tế. Những con số ước tính đó giải thích cho việc lựa chọn kế hoạch trong từng trường hợp.