Đăng nhập với Microsoft
Đăng nhập hoặc tạo tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Xem xét tình huống sau:

  • Bạn đang sử dụng Microsoft SQL Server 2014 hoặc phiên bản mới hơn.

  • Bạn chạy một truy vấn có tham gia và không tham gia lọc predicates.

  • Bạn biên dịch truy vấn bằng cách sử dụng mới Cardinality ước (mới CE).

Trong trường hợp này, bạn gặp phải thì truy vấn.

Vấn đề này không xảy ra nếu bạn biên dịch truy vấn bằng CE hợp lệ.

Giải pháp

Trong SQL Server 2014 và phiên bản mới hơn, bạn có thể sử dụng theo dõi cờ 9476 buộc CE mới sử dụng giả định Đơn giản ngăn chặn thay vì giả định Sở ngăn mặc định. (Xem phần "Thông tin").

Kích hoạt cờ theo dõi này có thể cải thiện truy vấn kế hoạch lựa chọn mà không cần phải hoàn toàn trở lại mô hình CE hợp lệ nếu các điều kiện sau là đúng:

  • Bạn gặp phải sự lựa chọn kế hoạch không tối ưu truy vấn gây ra một hiệu suất tổng thể bị suy thoái cho truy vấn có tham gia và không tham gia lọc predicates.

  • Bạn có thể kiểm tra không chính xác đáng kể trong một "tham gia cardinality" ước lượng (tức là, thực tế so với số ước tính hàng khác đáng kể).

  • Không chính xác này không tồn tại khi bạn biên dịch truy vấn bằng CE hợp lệ.


Bạn có thể kích hoạt này cờ theo dõi toàn cầu, ở cấp độ phiên hoặc mức truy vấn.

Lưu ý Sử dụng cờ theo dõi không đúng có thể làm giảm hiệu suất khối lượng công việc của bạn. Để biết thêm thông tin, hãy xem phần "Giới thiệu" của bài viết sau trong cơ sở kiến thức Microsoft:

2801413 kích hoạt ảnh hưởng đến kế hoạch SQL Server truy vấn tối ưu hóa hành vi mà có thể được kiểm soát bởi khác cờ theo dõi độ truy vấn cụ thể

Thông tin

Từ SQL Server 2014, ước tính Cardinality mới được giới thiệu cho cơ sở dữ liệu tương thích cấp 120 và lớn. CE mới thay đổi một số giả định từ CE hợp lệ trong mô hình được sử dụng trình tối ưu hoá truy vấn khi nó ước tính cardinality khác sử dụng và predicates.

Một trong những thay đổi liên quan đến tham gia hạn chế giả định.

Mô hình hợp lệ CE giả định rằng người dùng luôn truy vấn dữ liệu tồn tại. Điều này có nghĩa là, để xác lập một liên kết liên quan đến hoạt động equijoin hai bàn, cột tham gia tồn tại hai bên tham gia. Trong các liên kết không lọc predicates khỏi bảng liên kết, hợp lệ CE giả định một số mức độ tương quan predicates tham gia và không tham gia lọc predicates. Điều này ngụ ý sự tương quan được gọi là đơn giản ngăn chặn.

Ngoài ra, CE mới sử dụng cơ sở ngăn chặn sự tương quan. Mô hình mới CE giả định rằng người dùng có thể truy vấn dữ liệu không tồn tại. Điều này có nghĩa là predicates lọc trên bảng riêng có thể không thể trùng khớp với nhau. Do đó, chúng tôi sử dụng một phương pháp xác suất.

Cho nhiều tình huống thực tế, sử dụng giả định sở ngăn tạo ước lượng tốt hơn. Này, tạo ra hiệu quả hơn truy vấn kế hoạch lựa chọn. Tuy nhiên, trong một số trường hợp này, sử dụng giả định đơn giản ngăn có thể cung cấp kết quả tốt hơn. Nếu điều này xảy ra, bạn có thể gặp phải ít hiệu quả truy vấn kế hoạch lựa chọn khi bạn sử dụng CE mới thay vì CE hợp lệ.

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×