DB2中如何确定某个表的统计信息的收集时间

如果说您并不知道对于一个表RUNSTATS的最后一次执行的时间(或者如果它根本就没有对该表执行过),那么您可以通过查询SYSCAT.TABLES这个系统视图来获取这一信息。
 
在SYSCAT.TABLES这个系统视图中有一列叫做STATS_TIME,它标识了某个表统计信息发生改变的最后时间,如果该表从未执行过RUNSTATS进行统计信息的搜集,那么该列的值为NULL值,而其他一些字段,如:NPAGES的值将为-1。
 
以下的例子说明了如何确定EMPLOYEE表的统计信息最后发生改变的时间:
 
db2 "connect to sample"
db2 "select stats_time, har(tabname,20) as tabname from syscat.tables where tabname='EMPLOYEE'"
 
返回结果类似如下结果:
 
STATS_TIME TABNAME
-------------------------- --------------------
2007-04-23-14.11.42.828000 EMPLOYEE
 
1 条记录已选择。
 
由此我们可以看到对于EMPLOYEE表统计信息的最后一次改变发生在2007年5月21日的20.11.30.

如果STAT_TIME列显示NULL值,则该表从未执行RUNSTATS进行统计信息的搜集。

你可能感兴趣的:(db2,职场,休闲,统计信息)