文章主要向大家講述的是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確定某個表的統計信息的收集時間的描述,希望會給你帶來一些幫助在此方面。