Tôi đang tạo một khung nhìn sử dụng một câu lệnh có WHERE
mệnh đề tương tự như sau:
WHERE
(
col1 IS NOT NULL
OR
col2 IS NOT NULL
)
AND
NOT EXISTS (SELECT ...)
Mất trung bình 10 giây để chạy. Tuy nhiên, khi tôi cố lưu truy vấn này dưới dạng View, SQL Server (hoặc MS SQL Server Management Studio Client) "tối ưu hóa" truy vấn để sử dụng cấu trúc này, thay vào đó:
WHERE
(col1 IS NOT NULL AND NOT EXISTS (SELECT ...))
OR
(col2 IS NOT NULL AND NOT EXISTS (SELECT ...))
Làm chậm truy vấn xuống hơn 6 phút. Có cách nào để vô hiệu hóa hành vi này, để chế độ xem sử dụng chính xác Truy vấn SQL tôi cung cấp không?