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

DB2 聚集目標表(AST)深度解析:基本 vs 變更聚集、CD 表關係與實務選型

     編輯:DB2 教學

什麼是聚集目標表?

Aggregate Summary Table (AST) 是唯讀、物理儲存的彙總表,透過 SQL 欄位函數(SUM、AVG、COUNT...)定期從來源表計算彙總值。不同於 View(虛表),AST 資料實際佔用磁碟,查詢不重複計算,效能極佳;隨時間追加新彙總列,保留歷史快照,兼具報表與稽核功能。

前置知識:CD 表(Change Data Table)

CD 表是 DB2 複寫(Q Replication / SQL Replication)為每個登記來源表自動建立的「變更擷取表」,記錄 INSERT/UPDATE/DELETE 後的映像行。AST 的資料來源可以是:
① 來源表直接全量掃描 → 基本聚集表
② CD 表增量讀取 → 變更聚集表

兩類 AST 差異對比

維度基本聚集表變更聚集表
資料來源來源表全量CD 表增量變更
重算頻率低(每日/每週)高(近即時/每小時)
資料延遲較大(取決於排程)極小(秒/分級)
系統負載全表掃描 I/O 大僅讀取變更行,負載低
歷史保留天然保留每期快照需額外設計保留策略
適用場景日報表、趨勢分析、稽核歸檔即時儀表板、操作型報表、異常預警

建立與維護關鍵步驟

  1. 定義來源表/欄位/群組鍵/彙總函數
  2. 選擇 AST 類型 → 決定刷新頻率與方式(REFRESH IMMEDIATE/DEFERRED)
  3. 建立 AST:CREATE SUMMARY TABLE ... AS (SELECT ...) DATA INITIALLY DEFERRED REFRESH DEFERRED
  4. 排程 REFRESH TABLE AST_NAME 或由複寫引擎自動套用 CD 表變更
  5. 定期 RUNSTATS、REORG 維護 AST 效能

選型建議

  • ✅ T+1 報表、歷史趨勢 → 基本聚集表(簡單、穩定)
  • ✅ 即時營運看板、欺詐偵測 → 變更聚集表(需複寫環境)
  • ⚠️ 混合部署:核心 KPI 用變更聚集,歷史分析用基本聚集
  • 🚫 來源表極大(TB 級)且無複寫 → 考慮 MQT(Materialized Query Table)+ 自動重導
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved