Как проверить, когда статистика в последний раз выполнялась?

9

В последнее время у нас возникли некоторые проблемы с нашими индексами, которые наша команда администраторов баз данных приписала статистике, которая недавно не проводилась. Это заставило меня задуматься - как я могу проверить, обновлялась ли недавно статистика через SQL Management Studio?

Я прошу прощения, если этот вопрос не объясняет это очень хорошо - я только знакомился со статистикой до сих пор, и до этого я смотрел на индексы всякий раз, когда у меня возникали проблемы с производительностью.

Редактировать :

Я использую следующее, но получаю синтаксическую ошибку:

use *databasename*
exec sp_autostats *schema.tablename*

Я получаю ошибку:

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

Почему это?

Майкл А
источник

Ответы:

12

Для редактирования - Вам необходимо заключить имя таблицы в одинарные кавычки:

EXEC sp_autostats 'tablename'

и за оригинальный вопрос

Сначала - найдите статистику, которую вы хотите проверить:

выберите статистику

Второе - посмотрите его свойства, и там вы увидите последнюю обновленную метку времени:

введите описание изображения здесь

Или вы можете выполнить следующий запрос:

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'
Олег Док
источник
9

Лучший способ получить информацию о статистике через команду

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

Это вернет информацию не только о том, когда статистика была обновлена, но и об их размере, плотности, насколько они избирательны и гистограмме, показывающей распределение данных. При этом вы можете определить, являются ли эти статистические данные актуальными и эффективными.

Грант Фричей
источник