首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

如何查詢 DB2 表統計信息的最後收集時間

     編輯:DB2 教學

在 DB2 數據庫管理中,了解表統計信息(Runstats)的最後更新時間對於性能調優至關重要。如果不確定某張表是否執行過 RUNSTATS,或是想確認最後一次執行的具體時間,可以通過查詢系統視圖 SYSCAT.TABLES 來快速獲取這項資訊。

核心欄位:STATS_TIME

SYSCAT.TABLES 視圖中的 STATS_TIME 欄位記錄了該表統計信息最後一次發生變更的時間戳。若該表從未執行過 RUNSTATS,此欄位將顯示 NULL,同時其他相關統計欄位(如 NPAGES)的值會為 -1。

實操範例:查詢 EMPLOYEE 表

以下步驟示範如何查詢 EMPLOYEE 表的統計更新時間:

db2 "connect to sample"
db2 "select stats_time, substr(tabname,1,20) as tabname from syscat.tables where tabname='EMPLOYEE'"

結果解讀

查詢結果示例:

STATS_TIME                TABNAME
------------------------- --------------------
2007-04-23-14.11.42.828000 EMPLOYEE

由此可知,EMPLOYEE 表的統計信息最後更新於 2007-04-23 14:11:42。若 STATS_TIME 為 NULL,則表示該表從未收集過統計信息,建議盡快執行 RUNSTATS 以確保優化器擁有最新的數據分佈資訊,生成最優訪問計劃。

DB2 統計信息收集時間查詢示意圖

掌握這項查詢技巧,能幫助 DBA 及時發現統計信息缺失或過期的表,進而制定合理的統計維護策略,保障 SQL 查詢性能穩定。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved