¿Cómo verificar cuándo se ejecutaron las estadísticas por última vez?

9

Últimamente hemos tenido varios problemas con nuestros índices que nuestro equipo de DBA ha atribuido a las estadísticas que no se han ejecutado recientemente. Esto me ha hecho preguntarme: ¿cómo puedo verificar si las estadísticas se han actualizado recientemente a través de SQL Management Studio?

Pido disculpas si esta pregunta no explica muy bien esto: solo me han presentado las estadísticas hasta ahora y antes de esto buscaría índices cada vez que tuviera problemas relacionados con el rendimiento.

Editar :

Estoy usando lo siguiente pero recibo un error de sintaxis:

use *databasename*
exec sp_autostats *schema.tablename*

El error que estoy recibiendo es:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '.'.

¿Por qué es esto?

Michael A
fuente

Respuestas:

12

Para su edición : debe incluir el nombre de la tabla entre comillas simples:

EXEC sp_autostats 'tablename'

y para la pregunta original

Primero, encuentre las estadísticas que desea verificar:

elegir estadísticas

Segundo: vea sus propiedades y allí verá la última marca de tiempo actualizada:

ingrese la descripción de la imagen aquí

O puede que desee ejecutar la siguiente consulta:

SELECT t.name TableName, s.[name] StatName, STATS_DATE(t.object_id,s.[stats_id]) LastUpdated 
FROM sys.[stats] AS s
JOIN sys.[tables] AS t
    ON [s].[object_id] = [t].[object_id]
WHERE t.type = 'u'
Oleg Dok
fuente
9

La mejor manera de obtener información sobre estadísticas es a través del comando

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

Eso devolverá información no solo sobre cuándo se actualizaron las estadísticas, sino también su tamaño, densidad, cuán selectivas son y el histograma que muestra la distribución de datos. Con todo eso, puede determinar si esas estadísticas están actualizadas y son efectivas.

Grant Fritchey
fuente