когда статистика индекса обновлялась в последний раз? - PullRequest
3 голосов
/ 09 июня 2009

Существует ли быстрый и простой способ составления списка, когда каждый индекс в базе данных последний раз обновлял свою статистику? Предпочтительным ответом будет запрос. Также возможно ли определить «качество» статистики: FULLSCAN, SAMPLE n и т. Д.

EDIT
это сработало для того, что мне было нужно, небольшой мод @OrbMan отличный ответ ...

SELECT
    STATS_DATE(i.object_id, i.index_id) AS LastStatisticsDate
        ,o.Name AS TableName
        ,i.name AS IndexName
    FROM sys.objects            o
        INNER JOIN sys.indexes  i ON o.object_id = i.object_id
    WHERE o.is_ms_shipped=0
    ORDER BY 1 DESC

1 Ответ

7 голосов
/ 09 июня 2009

Вы можете сделать: STATS_DATE (table_id, index_id)

Итак:

USE AdventureWorks;
GO
SELECT 'Index Name' = i.name, 'Statistics Date' = STATS_DATE(i.object_id, i.index_id)
FROM sys.objects o
JOIN sys.indexes i ON o.name = 'Address' AND o.object_id = i.object_id;
GO

где Адрес - это имя таблицы, индексы которой вы хотите проверить.

...