Làm thế nào để MS SQL Server quyết định khi nào nó có thể sử dụng Parallelism trực tiếp khi thực hiện các truy vấn?


7

Làm thế nào để MS SQL Server quyết định khi nào nó có thể sử dụng "Parallelism" khi thực hiện các truy vấn? Gần đây tôi đã đăng một câu hỏi khác ở đây rằng, khi nhìn vào kế hoạch thực hiện thực tế được sử dụng song song khi tôi có một đơn đặt hàng trên truy vấn và không khi tôi không có đơn đặt hàng. Vì vậy, tôi tự hỏi làm thế nào nó tìm ra khi nào nó có thể sử dụng "Parallelism" và khi nào nó không thể.

Câu trả lời:


5

SQL Server đưa ra quyết định này dựa trên chi phí. Nếu bạn thực thi 'sp_cool' (đảm bảo các tùy chọn nâng cao được bật), bạn sẽ thấy một mục nhập cho 'ngưỡng chi phí cho sự song song'. Nếu trình tối ưu hóa ước tính chi phí sẽ lớn hơn run_value thì truy vấn của bạn sẽ được thực hiện song song.

Nếu mệnh đề ORDER BY trong ví dụ của bạn dẫn đến chi phí tăng thì truy vấn sẽ đi song song.


1
Bạn có thể tìm thêm thông tin về chi phí được tính cho tính song song tại đây: msdn.microsoft.com/en-us/l Library / ms178065.aspx và tại đây technet.microsoft.com/en-us/magazine/dd320292.aspx .
Mary

Có cách nào (hoặc một số công cụ, có thể) để xem giá trị của 'ngưỡng chi phí cho sự song song' là gì cho một truy vấn không?
HeyJude
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.