首页 > 其他 > 详细

查询最后一次更新统计信息的时间

时间:2015-10-13 19:14:38      阅读:615      评论:0      收藏:0      [点我收藏+]

如果要查询表或Indexed View上最后一次更新统计信息的时间,使用STATS_DATE 函数

 

STATS_DATE 函数 返回表或索引视图上统计信息的最新更新的日期

Syntax

STATS_DATE ( object_id , stats_id )

 

stats_id是统计信息对象的ID,可以通过sys.stats来查看Stats_ID。

如果统计信息对应于索引,则 sys.stats 目录视图中的 stats_id 值与 sys.indexes 目录视图中的 index_id 值相同;如果统计信息不对应于索引,则它们将位于 sys.stats 结果中,但是不在 sys.indexes 结果中。

示例

1,创建示例数据

if object_id(dbo.dt_test‘) is not null
    drop table dbo.dt_test

create table dbo.dt_test
(
id int,
code int,
name varchar(10)
)

create clustered index cix_dt_test_idcode
on dbo.dt_test(id,code)

insert into dbo.dt_test
values(1,1,a‘),(1,2,b),
(2,1,c‘),(2,2,d),
(3,1,e‘),(3,2,f‘)

2,查看dt_test表上的Stats对象的ID

select *
from sys.stats s
where s.[object_id]=object_id(dbo.dt_test)

技术分享

3,查看统计信息最后更新的时间

select stats_date(s.object_id,s.stats_id) as StatsLastUpdatedDatetime,*
from sys.stats s
where s.[object_id]=object_id(dbo.dt_test)

技术分享

4,由于Stats对象是索引,Stats_ID和Index_ID是相同的,可以使用sys.indexes来查询统计最后更新的时间

select stats_date(i.object_id,i.index_id) as StatsLastUpdatedDatetime,*
from sys.indexes i
where i.[object_id]=object_id(dbo.dt_test)

技术分享

 

查询最后一次更新统计信息的时间

原文:http://www.cnblogs.com/ljhdo/p/4875407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!