SQL Server 2008 có lưu trữ ngày tạo của các kế hoạch thực hiện không?


13

Gần đây chúng tôi đã nâng cấp một ứng dụng mà chúng tôi sử dụng, bao gồm sửa đổi lược đồ cho cơ sở dữ liệu. Những thay đổi này có thể đã buộc các kế hoạch thực hiện được lưu trong bộ nhớ cache bị loại bỏ. Nếu SQL Server bị buộc phải tạo ra một loạt các kế hoạch mới, điều này có thể đã làm chậm trải nghiệm người dùng. Tôi muốn tìm hiểu nếu đây là trường hợp.

Vì vậy, câu hỏi của tôi là, SQL Server 2008 có lưu trữ ngày tạo của các kế hoạch thực hiện được lưu trữ không? Chế độ xem quản lý sys.dm_exec_cached_planskhông có bất kỳ trường ngày nào, vì vậy tôi nghi ngờ là không.

Câu trả lời:


12

Nó không được lưu trữ sys.dm_exec_cached_plans, cũng không bị chôn vùi ở bất kỳ nơi nào trong kế hoạch XML mà tôi có thể tìm thấy. Có những thông tin hữu ích trong các DMV khác.

Đối với các thủ tục được lưu trữ, chúng ta có thể nhận được thời gian một kế hoạch được lưu trữ từ sys.dm_exec_procedure_stats:

SELECT TOP(250) 
    p.name AS [SP Name]
    , ps.execution_count
    , ps.cached_time
FROM 
    sys.procedures p WITH (NOLOCK)
INNER JOIN 
    sys.dm_exec_procedure_stats ps WITH (NOLOCK)
ON  p.[object_id] = ps.[object_id]
WHERE 
    ps.database_id = DB_ID()
ORDER BY 
    ps.cached_time DESC 
OPTION 
    (RECOMPILE);

Đối với các truy vấn đặc biệt, có thời gian tạo trong sys.dm_exec_query_stats:

SELECT TOP(250) 
    st.[text] AS [QueryText]
    , qs.execution_count
    , qs.creation_time
FROM 
    sys.dm_exec_cached_plans cp WITH (NOLOCK)
INNER JOIN
    sys.dm_exec_query_stats qs WITH (NOLOCK)
ON  qs.plan_handle = cp.plan_handle
CROSS APPLY 
    sys.dm_exec_sql_text(cp.plan_handle) st
WHERE 
    cp.objtype = N'Adhoc' 
ORDER BY 
    qs.creation_time DESC 
OPTION 
    (RECOMPILE);

Theo @SqlKiwi ... việc thay đổi từ Creation_time sang cacheed_time chỉ là do các thủ tục và trình kích hoạt đã được thêm vào năm 2008 và cơ hội đã được thực hiện để chọn một tên mô tả hơn. Thời gian được tạo / lưu trữ phản ánh lần biên dịch cuối cùng, không phải thời gian tạo của kế hoạch ban đầu.

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.