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

DB2 資料倉庫效能調優六大核心策略實戰指南

     編輯:DB2 教學

策略一:索引建立時機

插入前建索引: 索引隨資料插入同步更新,需大量日誌空間,速度較慢,可用 NOT LOGGED INITIALLY 載入。
插入後建索引: 需執行 RUNSTATS ON TABLE ... AND INDEXES ALL 更新統計資訊,否則執行計畫不使用索引。統計更新後速度最快。

策略二:大表置於多節點表空間並建好索引

現有倉庫每節點 2 CPU、4 GB 記憶體。DIM 表空間為單節點,使用該表空間表時最多只用 2 CPU/4 GB。建議大表建立分區鍵置於多節點表空間,32 節點並行檢索再匯總至節點 0 展現,速度極快。並行性好之外,再建好索引速度更快。

策略三:使用 NOT LOGGED INITIALLY 載入資料

DB 為保一致性與可回滾,DML 預設記日誌。高併發/大操作易導致日誌爭用、操作緩慢。用 NOT LOGGED INITIALLY 載入,日誌用量極少,但失敗無法回滾,只能刪除重建。

策略四:表級鎖減少鎖數量

DB 鎖數量有上限,每鎖佔記憶體。鎖太多導致資源緊張。將表設為表級鎖可減少鎖數量。

策略五:臨時表只放必要資料

程式常為提速將用到資料先放入臨時表,但常塞入大量未用資料導致臨時表過大。盡量只插入必要資料並善用索引,大幅提速。

策略六:左連接條件下推

ON 條件中僅寫關聯條件與對左表的限制,主表限制勿寫在 ON 裡。寫在裡面不但極慢,還可能產生莫名結果。

相關文章

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