Tôi nghĩ rằng giải pháp trên lý thuyết có thể giúp bạn tăng hiệu suất, nhưng nó cũng phụ thuộc vào những gì hàm vô hướng thực sự làm. Tôi nghĩ rằng trong trường hợp này (dự đoán của tôi là định dạng ngày thành ngày cuối cùng trong quý) sẽ thực sự không đáng kể.
Bạn có thể muốn đọc trang này với các cách giải quyết được đề xuất:
Và trong Cách giải quyết, có một nhận xét rằng
Vì vậy, có vẻ như có, điều này có thể làm tăng hiệu suất.
Giải pháp của bạn là đúng, nhưng tôi khuyên bạn nên xem xét một cải tiến của SQL để sử dụng ELSE thay thế, nó trông gọn gàng hơn đối với tôi:
AND ReportTypeID = CASE WHEN (@X = 1) THEN 1
ELSE 4
END;