Về cơ bản là có - tính năng đánh hơi tham số (trong một số cấp bản vá của) SQL Server 2005 bị hỏng nặng. Tôi đã thấy các kế hoạch không bao giờ hoàn thành một cách hiệu quả (trong vòng vài giờ trên một tập dữ liệu nhỏ) ngay cả đối với các tập dữ liệu nhỏ (vài nghìn hàng) hoàn thành trong vài giây sau khi các thông số bị che. Và đây là trường hợp tham số luôn là một số giống nhau. Tôi muốn nói thêm rằng cùng lúc xử lý vấn đề này, tôi thấy có rất nhiều vấn đề với LEFT JOIN / NULLs không hoàn thành và tôi đã thay thế chúng bằng NOT IN hoặc NOT EXISTS và điều này đã giải quyết kế hoạch thành một thứ gì đó sẽ hoàn thành. Một lần nữa, một vấn đề về kế hoạch thực thi (rất kém). Tại thời điểm tôi đang giải quyết vấn đề này, DBA sẽ không cấp cho tôi quyền truy cập SHOWPLAN và vì tôi bắt đầu che mọi thông số SP, nên tôi không gặp phải bất kỳ vấn đề nào về kế hoạch thực thi mà tôi sẽ phải đào sâu vào điều này nếu không hoàn thành. .
Trong SQL Server 2008, bạn có thể sử dụng OPTIMIZE FOR UNKNOWN
.