Tính năng Force Store Store không hoạt động


12

Tính năng kế hoạch truy vấn Force Store dường như không thực thi kế hoạch.

Tôi biết về Cửa hàng Truy vấn - Buộc không phải lúc nào cũng có nghĩa là Buộc ; tuy nhiên, kế hoạch của tôi có thể không thay đổi đáng kể, nhưng trình tối ưu hóa truy vấn có thể tiếp tục chọn các chỉ mục không chính xác, các lựa chọn vòng lặp, v.v.

Về cơ bản: nó không tôn trọng sự lựa chọn kế hoạch bắt buộc của tôi. Tôi đã thực hiện nhiều kế hoạch và nó không hoạt động .

  1. Có 0 thất bại hoặc lý do khi tôi nhìn vào sys.query_store_plan force_failure_count.
  2. Sự kiện mở rộng query_store_plan_forcing_failedkhông mang lại bất cứ điều gì. 0 Sự kiện.

Ví dụ, một kế hoạch đã bị bắt buộc vào ngày 20 tháng 9. Chỉ có 1 phần tổng hợp tình cờ sử dụng kế hoạch bắt buộc.

Kế hoạch truy vấn

Các kế hoạch rất khác nhau, một kế hoạch sử dụng Hash Match tham gia với INDEX 1, kế hoạch khác sử dụng Loop Join với INDEX 2.

Kế hoạch khác nhau

Phiên bản: Microsoft SQL Server 2016 (SP1-GDR) (KB3210089) - 13.0.4202.2 (X64)

Tôi đang thiếu gì ở đây?

Câu trả lời:


16

Từ sys.query_store_plan (Transact-SQL) (nhấn mạnh thêm)

Kế hoạch buộc hạn chế

Kho lưu trữ truy vấn có một cơ chế để thực thi Trình tối ưu hóa truy vấn để sử dụng gói thực thi nhất định. Tuy nhiên, có một số hạn chế có thể ngăn chặn một kế hoạch được thi hành .

Đầu tiên, nếu kế hoạch chứa các công trình sau:

  • Chèn câu lệnh số lượng lớn.
  • Tham chiếu đến một bảng bên ngoài
  • Truy vấn phân tán hoặc hoạt động toàn văn
  • Sử dụng truy vấn toàn cầu
  • Con trỏ
  • Đặc điểm kỹ thuật tham gia sao không hợp lệ

Bạn đang sử dụng một con trỏ.


Bạn có thể thường xuyên buộc một kế hoạch con trỏ với một hướng dẫn kế hoạch thay thế. Xem Sử dụng Gợi ý truy vấn KẾ HOẠCH SỬ DỤNG trên các câu hỏi với con trỏ .

Và vâng, tôi đồng ý rằng tình hình hiện tại không mang lại trải nghiệm tốt nhất cho người dùng. Tôi hy vọng rằng việc cố gắng buộc một kế hoạch cho một cái gì đó không thể (hiện tại) bị ép buộc sẽ gây ra lỗi hoặc cảnh báo, hoặc ghi nhật ký một cái gì đó. Bạn có thể đăng nhập một mục Phản hồi để yêu cầu cải tiến trong lĩnh vực này.


Kể từ SQL 2019 CTP 2.3, buộc kế hoạch thực hiện truy vấn cho các con trỏ Chuyển tiếp nhanh và tĩnh được hỗ trợ

Kho lưu trữ truy vấn hiện hỗ trợ khả năng buộc các kế hoạch thực hiện truy vấn đối với các con trỏ T-SQL và API tĩnh chuyển tiếp nhanh. Buộc hiện được hỗ trợ thông qua sp_query_store_force_planhoặc thông qua các báo cáo Cửa hàng Truy vấn của Studio Server Management Studio.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.