当数据库中的每个索引最后更新其统计信息时,是否有一种快速简便的方法可以列出?首选答案是查询。此外,是否可以确定统计数据的“质量”:FULLSCAN,SAMPLE n等。
修改
这对我需要的东西很有用,对于@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
答案 0 :(得分:7)
你可以这样做: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
其中Address是要检查其索引的表的名称。