LOAD 直接將格式化資料頁寫入磁碟,繞過 SQL 引擎、緩衝區、鎖管理、日誌記錄(可選)與約束檢查(延遲至後續 SET INTEGRITY),對大批量資料(百萬列以上)效能優勢明顯(通常快 10x~100x)。
| 選項 | 行為 | 備份掛起 | 適用場景 |
|---|---|---|---|
| NONRECOVERABLE | 不可恢復,前滾忽略,表標記「無效」 | 否 | 臨時表、可重建資料、極大表追求極致速度 |
| COPY NO (預設) | 不複製,若資料庫啟用歸檔日誌,表空間進入「備份掛起」 | 是(需備份後解除) | 生產環境標準模式,配合定期備份窗口 |
| COPY YES | 將變更頁面複製至磁帶/目錄/TSM,表空間不掛起 | 否 | 高可用環境、無法容忍備份窗口、使用 TSM/快照 |
生產建議:COPY YES TO /dev/null(若不需真實複製)或配合快照備份工具;若選COPY NO,務必在 LOAD 完成後立即執行表空間/資料庫備份解除掛起。
MODIFIED BY FASTPARSESET INTEGRITY 失敗或資料損壞。ANYORDERSAVECOUNT;系統為 SMP(多 CPU);CPU_PARALLELISM > 1。SAVECOUNT 斷點續傳,不可用 ANYORDER。DATA BUFFER n(單位:4KB 頁)1000 (4MB) ~ 8000 (32MB) 可減少 I/O 等待,視可用 UTIL_HEAP_SZ 而定。db2pd -util 觀察緩衝區使用率。CPU_PARALLELISM n物理核心數 - 1 或 邏輯核心數,避免佔滿 CPU 影響其他負載。ANYORDER 達到最佳並行度。DISK_PARALLELISM n容器數 或 磁碟陣列通道數,避免單一寫入執行緒成為瓶頸。LOAD FROM /data/large_table.del OF DEL MODIFIED BY FASTPARSE
REPLACE INTO TARGET_TABLE
NONRECOVERABLE
ANYORDER
DATA BUFFER 4000
CPU_PARALLELISM 16
DISK_PARALLELISM 8;
db2pd -db DBNAME -util:實時顯示 LOAD 進度、階段、緩衝區、執行緒狀態。db2 "CALL SYSPROC.ADMIN_GET_TAB_INFO('SCHEMA','TABLE')":載入後檢查高水位線、頁面填充度。SET INTEGRITY FOR TARGET_TABLE IMMEDIATE CHECKED 驗證約束、重建索引、更新統計。COPY NO/YES 行為一致(無備份掛起)。FASTPARSE + 髒資料 = 災難,務必上游保證品質。SAVECOUNT 與 ANYORDER 互斥,二選一。UTIL_HEAP_SZ、TEMPSPACE 空間,避免中途失敗。