SALES_FACT (2006 年銷售明細) + DATE_DIM/PRODUCT_DIM/STORE_DIMIBMDEFAULTBP 1000 頁 (4KB) 共享ALTER TABLE fact ADD CONSTRAINT fk_store FOREIGN KEY (store_id) REFERENCES store_dim (store_id) NOT ENFORCED ENABLE QUERY OPTIMIZATIONNOT ENFORCED 避免載入時檢查開銷;ENABLE QUERY OPTIMIZATION 開放優化器使用REFRESH TABLE 或 SET INTEGRITY ... IMMEDIATE CHECKEDORGANIZE BY DIMENSIONS (month, store_id, product_id)PARTITION BY RANGE (sale_date) (START '2006-01-01' END '2006-12-31' EVERY 1 MONTH)ALTER TABLE ... DETACH/ATTACH PARTITION 秒級元資料操作PARTITION BY RANGE (sale_date) ... ORGANIZE BY DIMENSIONS (store_id, product_id)CREATE TABLE sales_mth_store AS (SELECT month, store_id, SUM(qty), SUM(amt) FROM sales_fact GROUP BY month, store_id) DATA INITIALLY DEFERRED REFRESH DEFERREDREFRESH TABLE sales_mth_store(可增量)| 策略 | 查詢時間縮減 | I/O 縮減 | 適用場景 |
|---|---|---|---|
| RI Constraints | 10-20% | 5-15% | 所有星型查詢基線 |
| MQT 複製並置 | 40-60% | 50-70% | 跨分區連接熱點 |
| MDC | 60-80% | 70-90% | 多維度篩選、低基數 |
| 表分區 | 50-70% | 60-80% | 時間序列、滾動窗口 |
| 分區+MDC | 80-95% | 85-98% | 大型資料倉庫核心表 |
| 聚合 MQT | 90-99% | 95-99% | 固定報表、儀表板 |
db2pd -dyn、EXPLAIN 驗證剪枝/重寫生效BI 環境優化無銀彈,**組合拳才是王道**:表分區解決「掃描多少資料」,MDC 解決「如何快速定位區塊」,MQT 解決「跨分區連接」與「重複聚合」。在 DPF 架構下,分區鍵對齊與並置連接是前提;建立 RI Constraints 成本最低收益最高,必做動作。依查詢工作負載熱度圖,分層套用上述六策略,可將 TB 級星型查詢從小時級壓縮至秒級。