Khắc phục: Hiệu suất tầm nhìn thấp khi bạn chạy một truy vấn có tương quan và predicates trong SQL Server 2008 hay trong SQL Server 2008 R2 hoặc trong SQL Server 2012

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2658214
Phân phối Microsoft Microsoft SQL Server 2008 R2 hoặc Microsoft SQL Server 2008 hay Microsoft SQL Server 2012 fixes trong một tập tin tải về. Bởi vì các bản sửa lỗi tích lũy, mỗi bản phát hành mới có chứa tất cả các hotfix và cập nhật tất cả các bản cập nhật bảo mật đó được đính kèm với SQL Server 2008 R2 trước hoặc SQL Server 2008 hay Microsoft SQL Server 2012 phát hành.
Triệu chứng
Xem xét kịch bản sau đây. Bạn chạy một truy vấn có chứa một số predicates trong Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2, hoặc Microsoft SQL Server 2012. Các điều kiện của predicates có tương quan. Trong trường hợp này, bạn có kinh nghiệm hiệu suất tầm nhìn thấp trong SQL Server 2008. Ví dụ, vấn đề này xảy ra khi bạn chạy một truy vấn đó tương tự như sau:
(column1 = constant1 or column1 = constant2 or …) and (column2 = constant3 or column2 = constant4 or …) and …
Nguyên nhân
Vấn đề này xảy ra vì tôi ưu hoa truy vấn chọn một kế hoạch chế truy vấn nếu truy vấn có tương quan predicates. Khi số ước tính hàng đáp ứng các điều kiện của một predicate , SQL Server giả định rằng tất cả các điều kiện là độc lập. Nếu các điều kiện có tương quan, SQL Server underestimates cardinality cho predicates .
Giải pháp
Để giải quyết vấn đề này, áp dụng Cập Nhật sau đây tích lũy. Sau khi bạn áp dụng các Cập Nhật, bạn phải cho phép dấu kiểm vết cờ 4137 thêm mới logic cho dự toán cardinality của predicates.

Lưu ýBản cập nhật này chỉ áp dụng cho bộ lọc predicates.

Cumulative update Cập nhật thông tin

SQL Server 2008 Service Pack 3

Sửa chữa cho vấn đề này đã được phát hành lần đầu tiên trong Cumulative Update 7 cho SQL Server 2008 Service Pack 3. Để biết thêm chi tiết về làm thế nào để có được gói tích lũy Cập nhật này, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2738350 Tích lũy thông tin trọn gói 7 cho SQL Server 2008 Service Pack 3
Lưu ý Bởi vì các bản xây dựng được tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và sửa chữa tất cả các sửa lỗi bảo mật được bao gồm trong các trang trước SQL Server 2008 Service Pack 3 phát hành. Chúng tôi đề nghị bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2629969 SQL Server 2008 xây dựng được phát hành sau khi SQL Server 2008 Service Pack 3 được phát hành

SQL Server 2012

Sửa chữa cho vấn đề này đã được phát hành lần đầu tiên trong Cumulative Update 1 cho SQL Server 2012. Để biết thêm chi tiết về gói tích lũy Cập nhật này, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2679368 Tích lũy thông tin trọn gói 1 cho SQL Server 2012
Lưu ý Bởi vì các bản xây dựng được tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và tất cả các sửa lỗi bảo mật đó được đính kèm với trước năm 2012 Server SQL Sửa chữa phát hành. Microsoft khuyến cáo bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2692828 SQL Server 2012 xây dựng được phát hành sau khi SQL Server 2012 được phát hành
Bạn phải áp dụng một hotfix SQL Server 2012 cho tiến trình cài đặt chuyên biệt SQL Server 2012.

SQL Server 2008 R2 gói bản ghi dịch vụ 1

Sửa chữa cho vấn đề này đã được phát hành lần đầu tiên trong Cumulative Update 5 cho SQL Server 2008 R2 Service Pack 1. Để biết thêm chi tiết về làm thế nào để có được gói tích lũy Cập nhật này, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2659694 Tích lũy thông tin trọn gói 5 cho SQL Server 2008 R2 Service Pack 1
Lưu ý Bởi vì các bản xây dựng được tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và sửa chữa tất cả các sửa lỗi bảo mật đó được đính kèm với trước SQL Server 2008 R2 phát hành. Chúng tôi đề nghị bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2567616 SQL Server 2008 R2 xây dựng được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành

SQL Server 2008 Service Pack 2

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 8 cho SQL Server 2008 Service Pack 2. Để biết thêm chi tiết về gói tích lũy Cập nhật này, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2648096 Tích lũy thông tin trọn gói 8 cho SQL Server 2008 Service Pack 2
Lưu ý Bởi vì các bản xây dựng được tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và tất cả các sửa lỗi bảo mật đó được đính kèm với trước SQL Server 2008 sửa chữa phát hành. Microsoft khuyến cáo bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2402659 SQL Server 2008 xây dựng được phát hành sau khi SQL Server 2008 Service Pack 2 được phát hành
Microsoft SQL Server 2008 hotfixes được tạo ra cho cụ thể SQL Server service pack. Bạn phải áp dụng một hotfix SQL Server 2008 Service Pack 2 cho tiến trình cài đặt chuyên biệt SQL Server 2008 Service Pack 2. theo mặc định, bất kỳ hotfix được cung cấp trong gói bản ghi dịch vụ máy chủ SQL được bao gồm trong gói bản ghi dịch vụ tiếp theo của SQL Server.
Tình trạng
Microsoft đã xác nhận rằng đây là một vấn đề trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Để biết thêm thông tin về các mô hình bản ghi dịch vụ gia tăng cho SQL Server, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
935897 Một mô hình bản ghi dịch vụ gia tăng có sẵn từ đội SQL Server để cung cấp hotfixes cho báo cáo vấn đề
Để biết thêm chi tiết về lược đồ đặt tên cho SQL Server Cập Nhật, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
822499Lược đồ đặt tên cho gói cập nhật phần mềm Microsoft SQL Server
Để biết thêm chi tiết về thuật ngữ phần mềm Cập Nhật, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
824684 Mô tả các thuật ngữ tiêu chuẩn được sử dụng để mô tả Cập nhật phần mềm Microsoft

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2658214 - Xem lại Lần cuối: 09/17/2012 22:53:00 - Bản sửa đổi: 2.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2658214 KbMtvi
Phản hồi