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

提升 DB2 IMPORT 命令效能的兩種方法 (COMPOUND / INSERT BUF)

     編輯:DB2 教學

問題背景

IMPORT 工具執行時會驗證所有約束、記錄日誌、觸發 Trigger,大量資料導入效能遠低於 LOAD。但某些環境 (如需觸發器、RI 驗證) 必須用 IMPORT,此時可透過以下兩種方式大幅提升效能。

方法一:啟用緩衝區插入 (INSERT BUF)

對 db2uimpm 套件重新綁定並啟用 INSERT BUF 選項,使匯入過程使用緩衝區批次插入。

DB2 CONNECT TO SAMPLE
DB2 BIND DB2UIMPM.BND INSERT BUF
DB2 IMPORT FROM MYFILE OF DEL INSERT INTO MYTABLE
  • DB2UIMPM.BND 位於 sqllib/bnd/ 目錄。
  • 此設定對該資料庫所有後續 IMPORT 作業生效。

方法二:使用 COMPOUND 選項

在 IMPORT 命令中加入 MODIFIED BY COMPOUND=n,將 n 筆 INSERT 合併為一個批次送往伺服器,減少網路往返。

DB2 CONNECT TO SAMPLE
DB2 IMPORT FROM MYFILE OF DEL MODIFIED BY COMPOUND=100 INSERT INTO MYTABLE
  • COMPOUND 範圍:1 ~ 100,建議設為 100 (最大批次)。
  • 對分區資料庫 (DPF) 效能提升尤為明顯。

兩者比較與建議

最佳組合:先執行 BIND ... INSERT BUF,再於每次 IMPORT 加上 COMPOUND=100。

其他 IMPORT 效能提示

  • 匯入前 ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY (僅首 UOW 有效) 或建表時 NOT LOGGED INITIALLY。
  • 匯入大量資料前暫停索引 (SET INTEGRITY ... OFF),匯入後重建。
  • 使用 IXF 格式優於 DEL (含定義、二進位、無轉換開銷)。
  • 調大 UTIL_HEAP_SZ、APPLHEAPSZ 供 IMPORT 使用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
方法生效範圍適用場景建議
INSERT BUF (BIND)資料庫層級,永久固定使用 IMPORT 的環境一次設定,長期受益
COMPOUND (命令參數)單次命令層級臨時需求、不同批次大小配合 INSERT BUF 使用,效果疊加