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.