¿SQL Server 2008 almacena la fecha de creación de los planes de ejecución?

13

Recientemente actualizamos una aplicación que usamos, que implicaba modificar el esquema de la base de datos. Estos cambios podrían haber obligado a descartar los planes de ejecución en caché. Si SQL Server se vio obligado a crear un montón de nuevos planes, esto podría haber ralentizado la experiencia del usuario. Me gustaría saber si este fue el caso.

Entonces, mi pregunta es, ¿SQL Server 2008 almacena la fecha de creación de los planes de ejecución en caché? La vista de administración sys.dm_exec_cached_plansno tiene ningún campo de fecha, por lo que sospecho que no.

Eugene M
fuente

Respuestas:

12

No está almacenado sys.dm_exec_cached_plans, ni está enterrado en ninguna parte del plan XML que pueda encontrar. Sin embargo, hay información útil en otros DMV.

Para los procedimientos almacenados, podemos obtener el tiempo desde que se almacenó en caché un plan 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);

Para consultas ad-hoc, existe el tiempo de creación en 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);

Según @SqlKiwi ... el cambio de creation_time a cached_time fue solo porque se agregaron procedimientos y desencadenantes en 2008 y se aprovechó la oportunidad para elegir un nombre más descriptivo. El tiempo creado / en caché refleja la última compilación, no el tiempo de creación del plan original.

Mark Storey-Smith
fuente