`IMPORT` 是 DB2 常用的數據導入工具,但預設逐筆提交、無緩衝機制,面對大數據量時效能明顯不足。以下三種調優手法可顯著加速導入過程。
在分區數據庫環境(DPF)中,重新綁定 `db2uimpm.bnd` 並加入 `INSERT BUF` 選項:
db2 connect to <dbname>
db2 bind db2uimpm.bnd blocking all insert buf
綁定文件位於 `sqllib\bnd` 目錄。此舉讓 `IMPORT` 以批次緩衝方式插入,減少網路往返與協調開銷。
在 `IMPORT` 指令加入 `compound=N`,每 N 筆記錄才等待 SQL 回應:
db2 import from data.ixf of ixf modified by compound=100 insert into target_table
預設 `compound=1`(逐筆提交),設為 100 即每 100 筆一併送交,大幅降低客戶端/伺服器交互次數。
若目標表已有數據,執行:
ALTER TABLE target_table APPEND ON
新數據將直接追加至表尾,避免尋找可用頁面的開銷,加快插入速度。注意:此模式下無法重複使用已刪除行的空間,需權衡空間利用率。
根據環境選擇:DPF 必備方法一;通用場景優先方法二;配合方法三效果最佳。三者可疊加使用,實測導入速度常可提升數倍。