天天看點

DB2資料庫運作維護

db2提供了runstats指令來手工更新資料庫統計資訊。在成功執行runstats指令之後,靜态sql查詢并不會使用最近的資料庫統計資訊,這是因為靜态sql的通路政策在之前執行bind時就已确定,而當時使用的統計資訊有可能與現在的并不一緻。這時候就需要重新綁定使用靜态sql的應用程式,這樣查詢優化器就可以根據資料庫最新統計資訊來選擇擷取資料庫的最佳通路政策。但是,對于使用動态sql的應用程式而言,則沒有必要進行重新綁定,因為動态sql語句的通路政策是根據統計資訊在運作時動态生成的。

  隻有當進行顯示請求時,對象的統計資訊才會在系統目錄表中被更新。有以下幾種方法可以更新部分或全部統計資訊:

使用runstats(運作統計資訊,run statistics)指令

使用帶有指定的統計資訊收集選項的load

對針對一組預先定義的系統目錄視圖進行操作的sql update 語句進行編碼

使用"reorgchk update statistics"指令

記住:批量加載資料之後要運作runstats指令

一次對一張表進行runstats指令:

這個指令将收集該表及其所有索引(基本級别)的統計資訊。