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進行統計信息的蒐集。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章