Hành vi bộ nhớ cache toàn bộ kế hoạch


8

Trong SQL Server 2005, điều gì xảy ra khi bộ đệm kế hoạch đầy? Tôi đã thực hiện một số nghiên cứu, và từ các bit và mảnh được thu thập, dường như các gói được lưu trong bộ nhớ cache được đưa ra một "tuổi" bao gồm trọng lượng của nó, hoặc chi phí để biên dịch, nhân với số lần nó đã được chạy kể từ khi được lưu trữ. Theo thời gian, độ tuổi này được giảm xuống, cho đến khi nó về 0, khi nó được coi là "hết tuổi" và là một ứng cử viên để xả nước khi cần thiết. Khi bộ đệm của bộ đệm lấp đầy, các gói cũ bị xóa khỏi bộ đệm.

Có điều gì khác đang xảy ra đằng sau hậu trường để làm phức tạp kịch bản này không?

Cảm ơn,

Matt

Câu trả lời:


9

Thông tin tốt nhất cho chủ đề được tìm thấy trên MSDN có tại đây: Bộ đệm và sử dụng lại kế hoạch thực hiện . Trích dẫn từ bài viết MSDN:

"Xóa kế hoạch thực thi khỏi bộ đệm thủ tục

Các kế hoạch thực hiện vẫn còn trong bộ đệm thủ tục miễn là có đủ bộ nhớ để lưu trữ chúng. Khi áp suất bộ nhớ tồn tại, Công cụ cơ sở dữ liệu sử dụng cách tiếp cận dựa trên chi phí để xác định kế hoạch thực hiện nào cần xóa khỏi bộ đệm thủ tục. Để đưa ra quyết định dựa trên chi phí, Công cụ cơ sở dữ liệu tăng và giảm biến chi phí hiện tại cho từng kế hoạch thực hiện theo các yếu tố sau.

Khi áp suất bộ nhớ tồn tại, Công cụ cơ sở dữ liệu đáp ứng bằng cách loại bỏ các kế hoạch thực hiện khỏi bộ đệm thủ tục. Để xác định kế hoạch nào cần loại bỏ, Cơ sở dữ liệu liên tục kiểm tra trạng thái của từng kế hoạch thực hiện và xóa các kế hoạch khi chi phí hiện tại của chúng bằng không. Một kế hoạch thực hiện với chi phí hiện tại bằng không được loại bỏ tự động khi áp suất bộ nhớ tồn tại; nó chỉ bị xóa khi Cơ sở dữ liệu kiểm tra kế hoạch và chi phí hiện tại bằng không. Khi kiểm tra một kế hoạch thực hiện, Cơ sở dữ liệu sẽ đẩy chi phí hiện tại về 0 bằng cách giảm chi phí hiện tại nếu một truy vấn hiện không sử dụng kế hoạch. "

Tốt hơn là đọc bài viết đầy đủ, nó được ghi chép lại rất tốt. Xem rằng nó cũng có một số liên kết.

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.