Triệu chứng
Khi bạn truy vấn dạng xem trong Microsoft SQL Server 2014 hoặc 2016, có thể mất nhiều thời gian hơn nữa để hoàn thành nếu bạn so sánh nó với việc thực hiện trong SQL Server 2008 R2.
Khi bạn thực hiện một truy vấn sử dụng UNION ALL và một mục tiêu hàng (chẳng hạn như mệnh đề N đầu, FAST N hoặc không có nghĩa), bạn có thể nhận thấy rằng truy vấn chạy chậm trong SQL Server 2014 hoặc các phiên bản mới hơn nếu bạn so sánh nó với SQL Server 2008 R2.
Nguyên nhân
Trong SQL Server 2008 R2, trình tối ưu hóa truy vấn sẽ thay đổi thứ tự các phần khác nhau trong liên kết tất cả nếu một mục tiêu hàng có mặt, để phần rẻ nhất diễn ra trước đó. Điều này cho phép truy vấn hoàn tất việc thực hiện trước đó nếu các phần rẻ hơn sẽ bắt buộc phải có số hàng, mà không cần tiếp tục thực thi các phần đắt tiền hơn. Việc sắp xếp lại không xảy ra trong các phiên bản SQL Server sau này.
Giải pháp
Sự cố này đã được khắc phục trong bản Cập Nhật tích lũy sau đây cho SQL Server:
Cập Nhật tích lũy 7 cho SQL Server 2016 RTM
Bản Cập Nhật tích lũy 4 cho SQL Server 2016 SP1
Cập Nhật tích lũy 6 cho SQL Server 2014 SP2
Lưu ý Truy vấn Optimiser phải được kích hoạt cho vấn đề này.
Để biết thêm thông tin về trình tối ưu truy vấn và cờ theo dõi, hãy tham khảo các nối kết sau đây:
Mô hình dịch vụ của trình tối ưu hóa truy vấn SQL Server của hotfix TF 4199
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Tìm hiểu về thuật ngữmà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.