Parameter sniffing = On with Parameterization = cưỡng bức. Cái nào được ưu tiên?


7

Hai cài đặt này dường như mâu thuẫn với nhau. Một lực lượng lên kế hoạch tham số hóa để chỉ một kế hoạch được tạo. Cái khác cho phép nhiều kế hoạch

Nếu bạn có Parameterization = bắt buộc, thì việc đánh hơi tham số là sai hay là một ưu tiên?

Chi tiết bổ sung

Liên quan đến các ý kiến ​​dưới đây, đánh hơi tham số là một tùy chọn trong phạm vi cơ sở dữ liệu kể từ SS 2016. (cũng là một bất ngờ đối với tôi). Xem thêm: SQLShack: SQL Server 2016 Thông số đánh hơi


1
Bạn có thể đăng tên cài đặt mà tham số đánh hơi mà bạn đang đề cập đến không? Tôi không biết về một thiết lập như vậy.
George.Palacios

1
@ George.Palacios Tôi đã chỉnh sửa câu hỏi để bao gồm một liên kết phác thảo tùy chọn này
Matt Evans

@Zane xem phần chỉnh sửa ở trên. Nên bao gồm các liên kết trong bài viết
Matt Evans

Chà ... Có vẻ như đã đến lúc thử và xây dựng một bài kiểm tra và học một cái gì đó mới.
Zane

Câu trả lời:



3

Tham số hóa và đánh hơi là các hoạt động riêng biệt. Một câu lệnh đặc biệt có thể được SQL Server tham số hóa mà không bị đánh giá các tham số.

Paul White có một bài đăng blog tuyệt vời về: Thông số Ngửi, Nhúng và Tùy chọn RECOMPILE bao gồm cả Thông số Đánh hơi và tham số hóa chi tiết với các ví dụ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.