通过视图,可以查询到某个表的某个统计信息是什么时候更新过的,从而可以判断统计信息在数据大量变化时,SQL Server是否自动更新了统计信息。
如果没有自动更新,就可以手动出发统计信息。
代码如下:
可以先查看某个表有多少统计信息:sp_helpstats '表名'
然后在查更新时间:
select stats_date(s.object_id,s.stats_id) [统计信息的最新更新的日期],
c.name as 列名,
*
from sys.stats s
inner join sys.stats_columns sc
on s.object_id = sc.object_id and
s.stats_id = sc.stats_id
inner join sys.columns c
on s.object_id = c.object_id and
sc.column_id = c.column_id
where s.object_id = object_id('表名')